Existe-t-il un moyen (je veux dire comment) de définir une propriété système dans un projet maven?Spécifier la propriété système au projet Maven
Je souhaite accéder à une propriété de mon test et de ma webapp (en cours d'exécution localement) et je sais que je peux utiliser une propriété système java.
Devrais-je mettre cela dans ./settings.xml ou quelque chose comme ça?
Contexte
Je pris un projet open source et a réussi à modifier la configuration db utiliser JavaDB
Maintenant, dans l'url jdbc pour JavaDB, l'emplacement de la base de données peut être spécifié comme chemin complet (voir: this other question)
ou une propriété du système: derby.system.home
J'ai le code de travail déjà, mais actuellement il est tout hardcoded à:
jdbc:derby:/Users/oscarreyes/javadbs/mydb
Et je veux supprimer le chemin complet, de le laisser comme:
jdbc:derby:mydb
Pour ce faire, je dois préciser la propriété du système (derby.system.home
) Maven, mais je ne Je ne sais pas comment.
Les tests sont effectués en utilisant junit (je ne vois aucun plugin dans pom.xml) et l'application web fonctionne avec le plugin jetty.
Spécification de la propriété système dans la ligne de commande semble fonctionner pour la jetée, mais je ne suis pas sûr que ce soit quelque chose de pratique (accordé d'autres utilisateurs peuvent l'exécuter à partir eclipse/idée/whatever)
J'ai eu exactement le même problème, quand je me suis déplacé mes tests pour les tests d'intégration (il suffit de les renommer et a ajouté maven-plug-in failsafe. Cette propriété système a cessé de fonctionner. Je devais aussi passer systemPropertyVariables de maven-surefire- plugin dans ce plugin maven-failsafe-plugin La propriété system, configurée dans maven-surefire-plugin, a été ignorée avec les tests d'intégration – Alexandr