J'ai un projet maven qui charge un fichier xslt et exécute la transformation avec d'autres traitements sur le résultat. Normalement, lorsque l'utilisateur exécute l'application, l'utilisateur fournit le chemin du fichier xslt à charger. Mais j'inclus quelques fichiers xslt par défaut regroupés dans mon application que l'utilisateur peut utiliser sans charger de fichier xslt externe. Je fais cela en les ajoutant à src/main/resources/xslt. Mon problème est que je veux exécuter des tests sur ces fichiers xslt en phase de test. Comment puis-je atteindre cet objectif? Dois-je copier le contenu src/main/resources/xslt vers target/somewhere et les charger dans mon code de classes de test? Quel plugin est utilisé pour ça?Comment utiliser les ressources maven également comme ressources de test
11
A
Répondre
17
Mon problème est que je veux exécuter des tests sur ces fichiers xslt en phase de test. Comment puis-je atteindre cet objectif?
Il n'y a rien à faire, target/classes
est sur le chemin de classe des tests. Plus précisément, le chemin de classe pour les tests est:
- premier
target/test-classes
- puis
target/classes
- puis
dependencies
donc les ressources de src/main/resources
(qui sont copiés dans target/classes
) sont visibles à partir d'essais.
2
Si vous mettez un fichier à l'intérieur foo.txt
src/test/resources/
, vous pouvez ouvrir via:
// try-with-resource (Java 1.7)
try (InputStream is = getClass().getClassLoader().getResourceAsStream("foo.txt")) {
// do something with is...
}
Vous pouvez également jeter un oeil à la maven-resources-plugin.
Questions connexes
- 1. Partager les ressources de test entre les projets maven
- 2. m2eclipse filtrage des ressources de test
- 3. Les ressources de test des dépendances ne sont pas classpath?
- 4. Comment utiliser les ressources dans VC++?
- 5. Comment utiliser les ressources globales dans WPF?
- 6. Comment utiliser les ressources avec ActionLink?
- 7. Comment utiliser les ressources dans Android
- 8. Maven - Filtrage de ressources: implications du symbole @ dans les fichiers de ressources
- 9. Nested test des ressources RSpec
- 10. Maven chaîne Remplacer du texte Ressources Web
- 11. comment ajouter des ressources et de les utiliser
- 12. Comment utiliser les ressources ASP.NET de cette manière?
- 13. Le test maven ne peut pas charger les ressources/propriétés inter-modules?
- 14. comment utiliser les fichiers de ressources dans sharepoint 2010
- 15. Comment utiliser les fichiers de ressources .net en javascript
- 16. Comment utiliser les ressources de chargement tardif/paresseux
- 17. Comment décompresser les artefacts et filtrer les ressources?
- 18. Comment remplacer les ressources natives?
- 19. Comment traiter les ressources d'application
- 20. Comment gérer les ressources GDI
- 21. Comment utiliser les ressources globales dans une bibliothèque
- 22. éléments xml possibles dans les ressources xml de ressources Android?
- 23. Comment gérer les ressources de l'application?
- 24. PHP: réécrire les chemins pour les ressources comme CSS/JS
- 25. Impossible de charger les ressources du fichier de ressources
- 26. ressources uniques et multiples ressources
- 27. Ressources RESTful et problèmes de ressources orthogonales
- 28. Comment parcourir les ressources de classe Java?
- 29. Ressources pour les tests de performance
- 30. DataContext comme source Convertisseur de liaison avec les ressources
Oui .. après avoir posté la question, j'ai explicitement essayé de le faire et cela fonctionne. J'ai juste eu l'impression que c'est une convention que src/* est seulement pour la génération, le traitement et la compilation et que toute phase après cela devrait seulement regarder dans les chemins target/* pour faire son travail. N'est-ce pas vrai? – Paralife
@Paralife Vos ressources sont copiées dans 'target/classes' (et les ressources de test sont copiées dans' target/test-classes'). J'ai clarifié ça. Est-ce que ça répond à la question? –
Ah ok. Je n'ai pas compris qu'ils sont copiés. Je viens de dire que src/main/resources est visible directement depuis les tests. Je le vois maintenant. Merci. – Paralife