La lecture d'un fichier à partir d'un bocal, ou n'importe où sur le chemin de la classe?
Je suis en train de construire une application qui génère un fichier de ressources dans un bocal, mais j'aimerais avoir le projet praticable au sein d'eclipse. J'ai une base de maven 2 structure de mon projet, et je n'en suis pas sûr comment faire pour lire dans le fichier tel qu'il est trouvé et utilisé lors de l'exécution du POT ou de l'intérieur de l'éclipse. La pensée?
Structure:
src/main/java
src/main/resources/file.txt
Actuelle méthode de lecture:
getClass().getResourceAsStream("/file.txt")
Est-il de la lecture reprendra src/main/resources/*, ainsi que le niveau de la racine de la JARRE (où les ressources sont déployées)?
OriginalL'auteur Stefan Kendall | 2010-03-18
Vous devez vous connecter pour publier un commentaire.
Je ne comprends pas votre problème. Ressources de
src/main/resources
sont automatiquement copiés surtarget/classes
et sont donc disponible dans le classpath sous Maven et Eclipse relativement au niveau de la racine au même endroit (à moins que votre projet Eclipse n'est pas correctement configuré).Et lorsqu'il est emballé à l'intérieur d'un POT, le contenu de
target/classes
est emballé "de même que" si rien n'est changé.En d'autres termes, l'accès à votre
file.txt
comme ce qui est parfaitement correct (et c'est effectivement la façon dont les choses sont documentés):Si vous avez un problème quelque part, merci de préciser.
Mise à jour: j'ai fait un test rapide avec le maven-eclipse-plugin et je ne peux pas reproduire le problème:
Le répertoire
src/main/resources
est ajouté en tant que source de dossier comme prévu. Pouvez-vous montrer votre POM (surtout leresources
élément si vous définissez une seule)?Le programme d'installation
src/main/resource
comme source de dossier. Mais cela doit être fait par le maven-eclipse-plugin M2Eclipse.J'ai essayé de régénérer le projet avec mvn eclipse:eclipse, mais il n'a toujours pas prendre. Hmm. Je pense que je vais l'ajouter manuellement de cette façon.
Je viens de rejugé mon propre projet, et maintenant ça fonctionne. Doivent être certains parasites eclipse question qui n'est même pas, je peux reproduire.
OriginalL'auteur Pascal Thivent
Tout ce qui est mis dans src/main/resources à l'aide de maven2 sera placé au niveau de la racine de la jarre. Si la méthode que vous utilisez actuellement de satisfaire les deux conditions.
À partir de l'Maven page:
http://maven.apache.org/guides/getting-started/index.html#How_do_I_add_resources_to_my_JAR
OriginalL'auteur Vinny