Comment mettre un répertoire dans le chemin de classe avec le Printemps de Démarrage?
Je suis de la création de mon Ressort de Démarrage de l'application à l'aide de Maven, donc je peux le démarrer avec:
java -jar myjar-1.0-SNAPSHOT.jar --spring.profiles.active=prod
Je veux avoir un répertoire dans le chemin de classe qui me permettrait de placer des fichiers sur le système de fichiers sans avoir à les décompresser le bocal de les changer.
J'ai essayé d'utiliser loader.path
, mais il ne semble pas fonctionner.
java -Dloader.path="config/*" -jar myjar-1.0-SNAPSHOT.jar --spring.profiles.active=prod
La config
dir est un sous-répertoire d'où le pot est situé. Je suis en train de charger un fichier de magasin de clés qui est injecté dans un Resource
dans mon application. Il y a un tel fichier dans le répertoire src/main/resources, mais qui ne fonctionne que dans mon IDE, pas lorsqu'il est emballé comme un pot. Si je veux mettre un fichier en premier sur le chemin de la classe, de sorte que l'on se trouve d'abord dans le classpath.
OriginalL'auteur Wim Deblauwe | 2014-05-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
loader.path
mais seulement si leMain-Class
estPropertiesLauncher
(il dépend de la façon dont vous avez créé le fichier JAR). Peut-être vous avez besoin de re-construire le POT de l'emballage=ZIP dans le Démarrage du plugin (par exemple docs ici)? Pouvez-vous ne pas définir le chemin d'accès au fichier en tant que "fichier:" URL?file:
ne le corriger et je peux l'utiliser comme une solution de contournement. Cependant, l'utilisation de<layout>ZIP</layout>
dans le plugin Maven pour ne pas le mettre sur le chemin de la classe et je voudrais vraiment obtenir que le travail. Je reçoisNoClassDefFoundError: org/springframework/transaction/PlatformTransactionManager
lorsque j'ajoute leloader.path
C'est parce que vous êtes en train de supprimer la valeur par défaut du chargeur.chemin d'accès. Vous auriez besoin d' "loader.path=lib/config/" utiliser les deux.
En fait dans l'autre sens (étant donné que vous êtes en demandant "config/" pour être le premier).
Ah! J'ai pensé
loader.path
était de mettre supplémentaire choses sur le chemin de la classe.N'Printemps de Démarrage de prévoir un moyen pour ajouter des éléments à la variable classpath plutôt que de la remplacer entièrement comme il le fait lors de la configuration de
loader.path
?OriginalL'auteur Dave Syer