web-dev-qa-db-fra.com

Quelle est la structure de répertoire de projet pour une application Java SE autonome?

Quelle est la structure de répertoire de projet standard d'une application autonome Java SE (basée sur la ligne de commande)?

Le dossier src contiendra tous mes fichiers .Java dans des paquets correctement organisés. En dehors de cela, j'ai le dossier bin qui contiendra mes fichiers .class.

J'ai des fichiers de propriétés et des fichiers de configuration XML dans mon projet. Dans quel répertoire dois-je les placer? Devrais-je créer un paquet nommé com.myproject.config et y placer tous les fichiers de configuration .xml?

Je veux que les pots dépendants soient emballés avec mon paquet final. Devrais-je donc créer un dossier (par le nom lib) pour contenir tous ces fichiers .jar?

11
HariShankar

Je recommanderais de s'en tenir à default Maven layout (et d'utiliser maven comme outil de compilation)

Classes/ressources productives:

src/main/Java
src/main/resources

Données de test et classes:

src/test/Java
src/test/resources

Maven peut également prendre soin de bien emballer votre application avec tous les bocaux nécessaires (recherchez le plugin maven Assembly)

17

Une structure couramment utilisée est la suivante:

  • src - contient tous vos fichiers source, et éventuellement les suivants (peut-être loin dans l'arborescence des dossiers):
    • ressources - contient des ressources telles que des fichiers de propriétés
    • config - tout ce qui concerne la config
  • lib - un dossier contenant vos bibliothèques, éventuellement placé dans des sous-dossiers distincts
  • bin - contient les classes compilées
4
DieterDP

Autant que je sache, il n’existe pas de structure de projet standard pour Java en soi. Cependant, divers outils et IDE (tels que Eclipse) ont une structure standard.

Maven , un outil de construction pour Java, possède par contre une structure de projet très clairement définie (par défaut). Là, tous les fichiers source Java sont placés dans le dossier src/main/Java et tous les fichiers de ressources (comme vos fichiers de configuration) sont placés dans src/main/resources.

Voici une très brève introduction à Maven, si vous ne le connaissez pas encore: Maven in 5 Minutes


En ce qui concerne votre question sur l’emballage avec dépendances, voici un extrait de l’un de mes fichiers POM Maven qui utilise le plugin Assembly pour créer un fichier JAR avec toutes les dépendances incluses:

<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
rolve

src/com.nom_entreprise.nom_projet. Main.Java (la classe principale)

src/com.nom_entreprise.nom_projet.model. (ici toutes les classes de modèles)

src/com.nom_entreprise.nom_projet.view. (ici toutes les classes de vues, JFrame, Jdialog, etc.)

src/com.nom_entreprise.nom_projet.view.resources. (ici tous les fichiers et images utilisés dans les vues * note )

src/com.nom_entreprise.nom_projet.controller. (ici toutes les classes de contrôleurs)

lib/(ici toutes les bibliothèques externes - n'oubliez pas d'ajouter dans le chemin de construction)

* note si vous avez besoin d'un fichier de ressources (xml, fichier de configuration, etc.), créez un package .resources. à l'endroit spécifique où vous avez besoin (modèle, contrôleur, vue)

0
Musculaa