Lors de la création d'un dossier dans le répertoire src d'un projet dans Eclipse, ce dossier devient un package. Existe-t-il un moyen d’éviter que ce dossier soit automatiquement un package? Je ne veux pas que ça devienne un paquet. Comment puis-je faire ceci?
Supposons que j'ajoute les dossiers de cette manière: src/main/org/Apache. Je ne veux pas que main.org.Apache soit un paquetage, je veux plutôt que l'emballage commence par org. (c'est-à-dire, org.Apache).
Eclipse vous oblige à faire la distinction entre les répertoires source et les dossiers ordinaires. Tout sous-répertoire d'un dossier source sera considéré comme un package.
Dans votre cas, vous pouvez créer un dossier ordinaire en dehors de src/
pour empêcher les sous-répertoires d'être interprétés en tant que packages.
Vous pouvez également modifier les propriétés du projet pour que src/
soit considéré comme un répertoire ordinaire et y placer un répertoire source.
Vous pouvez gérer les répertoires d'un projet considérés comme des répertoires sources par:
Properties
.Java Build Path
. Dans le volet de droite, sélectionnez le Source tab
.Vous devez aller à Projet -> Propriétés -> Chemin de construction Java -> Source (onglet).
Supprimer src
de "Dossiers sources sur le chemin de génération"
Puis ajoutez src/main
en tant que dossier source. Si vous avez déjà org
sous main, vos paquets devraient alors commencer par org
comme vous le souhaitez.
J'ai ajouté le modèle "Exclus" avec la valeur ** à "Chemin de construction Java -> Source -> src/main/resources" et mon paquet est devenu un simple dossier dans Eclipse.
Tout dossier du répertoire src devient un package. Si vous souhaitez avoir un dossier principal, créez un dossier source de nom principal, puis créez le paquet requis dans le dossier principal.
Lorsque vous exécutez un projet Java dans Eclipse, le répertoire de travail actuel est le dossier racine du projet. Alors pourquoi ne pas simplement créer votre dossier de ressources ici?
ProjectDirectory
../bin
../src
../resourceDirectory
Ensuite, dans votre projet, vous pouvez extraire resourceDirectory
avec
public File getDirectory(String dir) {
File cwdir = new File(".").getParentFile(); // remove the "." in path
for (File f : cwdir.listFiles()) {
if (f.isDirectory() && f.getName().equals(dir)) {
return f;
}
}
return null;
}
et
File resourceDir = getDirectory("resourceDirectory");
if (null == resourceDir) {
System.err.println("Resource directory not found");
System.exit(-1);
}
Remarque: vous souhaiterez peut-être créer une classe d’utilitaires pour la méthode getDirectory()
ou quelque chose de similaire. C'est juste un exemple.
En bout de ligne, l’application sera probablement lancée à l’endroit où elle devrait être et vous pouvez simplement utiliser un fichier de démarrage (.bat, .sh, etc.) pour le faire de toute façon. Il n'est pas nécessaire de mettre des répertoires de ressources dans votre dossier source ou binaire; gardez-les séparés.