2012-06-12 10 views
11

Wie lautet die standardmäßige Projektverzeichnisstruktur einer eigenständigen Java SE-Anwendung (Befehlszeile)?Wie lautet die Projektverzeichnisstruktur für eine eigenständige Java SE-Anwendung?

src Ordner enthält alle meine .java Dateien in ordnungsgemäß organisierten Paketen. Ansonsten habe ich bin Ordner, der meine .class Dateien enthalten wird.

Ich habe Eigenschaften Dateien und XML-Konfigurationsdateien in meinem Projekt. In welchem ​​Verzeichnis sollte ich sie platzieren? Sollte ich ein Paket mit dem Namen com.myproject.config erstellen und alle .xml Konfigurationsdateien darin platzieren?

Ich möchte die abhängigen Gläser zusammen mit meinem endgültigen Paket verpackt werden. Also sollte ich einen Ordner (zB mit dem Namen lib) erstellen, um alle diese .jar Dateien zu halten?

+0

Sie können tun, was Sie beschreiben. Es gibt keine Einschränkung oder besser akzeptierte Art und Weise. –

+1

Eine Menge davon hängt davon ab, welches Build-Tool/IDE Sie verwenden. Beachten Sie, dass wenn Sie alles selbst zusammenpacken, es theoretisch möglich ist, fast jede Struktur zu verwenden, während eine IDE normalerweise eine Struktur erstellt, die sie häufiger verwendet. Zu * "erstellen Sie ein Paket namens com.myproject.config" * Ja, das scheint vernünftig. –

+1

Ich denke, Maven verwenden, um Ihr Projekt zu bauen, ist eine gute Option. – plucury

Antwort

17

Ich würde empfehlen, mit Standard Maven Layout zu bleiben (und auch Maven als Build-Tool verwenden)

produktive Klassen/Ressourcen:

src/main/java 
src/main/resources 

Testdaten und Klassen:

src/test/java 
src/test/resources 

Maven kann auch darauf achten, Ihre Anwendung ordnungsgemäß mit allen notwendigen Gläsern zu verpacken (suchen Sie nach Maven Assembly Plugin)

+8

Für die faulen: 'mkdir -p src/{main, test}/{java, resources}' –

+1

Mehr im Detail hier: https://maven.apache.org/guides/introduction/introduction-to-the-standard -Verzeichnis-layout.html –

3

Soweit ich weiß, gibt es für Java an sich keine Standard-Projektstruktur. Verschiedene Tools und IDEs (wie Eclipse) haben jedoch eine Standardstruktur.

Maven, ein Build-Tool für Java, auf der anderen Seite hat eine sehr klar definierte (Standard) Projektstruktur. Dort werden alle Java-Quelldateien im Ordner src/main/java abgelegt und alle Ressourcendateien (wie Ihre Konfigurationsdateien) werden in src/main/resources abgelegt.

Hier ist eine sehr kurze Einführung in Maven, wenn Sie es noch nicht wissen: Maven in 5 Minutes


In Bezug auf Ihre Frage zu Verpackung mit Abhängigkeiten, hier ein von einem meiner Maven POM Dateien snipped wird, das verwendet die Assembly Plugin eine JAR-Datei mit allen Abhängigkeiten erstellen enthalten:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
     <archive> 
      <manifest> 
       <mainClass>...</mainClass> 
      </manifest> 
     </archive> 
    </configuration> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
3

eine häufig verwendete Struktur ist die folgende:

  • src - enthält alle Quelldateien, und möglicherweise auch die folgende (möglicherweise weit unten auf der Ordnerstruktur sein):
    • Ressourcen - enthält Ressourcen wie Properties-Dateien
    • Config - alles Config
    • Zusammenhang
  • lib - ein Ordner eine Ihre Bibliotheken, möglicherweise in getrennten subfolderrs
  • ist enthält - enthält kompilierten Klassen
0

src/com.enterprise_name.project_name. Main.java (die Hauptklasse)

src/com.enterprise_name.project_name.model. (hier alle Modellklassen)

src/com.enterprise_name.project_name.view. (hier alle Ansichtsklassen, JFrame, Jdialog usw.)

src/com.enterprise_name.project_name.view.resources. (hier alle Dateien und Bilder in den Ansichten verwendet * beachten)

src/com.enterprise_name.project_name.controller. (hier werden alle relevanten Klassen)

lib/ (hier alle externen Bibliotheken - vergesst nicht, fügen Sie Pfad zu bauen)

* beachten Sie, wenn Sie einige Ressourcendatei (xml, config-Datei benötigen, etc) Erstellen Sie ein Paket .resources. an dem bestimmten Ort, wo Sie brauchen (Modell, Controller, Ansicht)

Verwandte Themen