2009-04-07 7 views
2

L'un des composants recherche le fichier persistence.xml à l'aide de la propriété système java.class.path. Il est souhaitable de conserver ce fichier séparément des fichiers jars dans le dossier/conf. Lors de l'exécution de l'application avec exec: exec, le chemin de classe est formé à partir du chemin vers le jar principal plus le chemin vers chaque dépendance. Je n'arrive pas à comprendre comment ajouter l'entrée/conf au classpath.Comment ajouter une entrée classpath lors de l'exécution de l'application avec le plugin exec

Ma ligne de commande ressemble à ceci:

mvn exec: exec = -Dexec.executable "java" -Dexec.args = "- classpath% classpath com.testjar.App"

J'ai essayé " arguments "mais l'exécution échoue si j'essaie d'ajouter quelque chose à% classpath. J'ai aussi essayé d'ajouter une entrée de classe chemin vers le manifeste en spécifiant

<manifestEntries> 
    <Class-Path>/conf</Class-Path> 
</manifestEntries> 

dans la configuration de maven-plugin-pot, mais l'entrée dans le manifeste n'a aucun effet sur la valeur de java.class. propriété path.

Répondre

4

Vous pouvez utiliser l'élément 'resources' dans la section 'build' de votre fichier POM. Par exemple

<build> 
<resources> 
    <resource> 
    <directory>src/main/resources/config</directory> 
    <includes> 
    <include>persistence.xml</include> 
    </includes> 
    <targetPath>/</targetPath> 
    </resource> 
</resources> 
... 
</build> 

Cette copie le persistence.xml dans le répertoire de construction de sortie, à savoir qu'il placera le persistence.xml sur le chemin de classe.

+0

Presque. mais il doit être '' - Au moins sur Windows le seul/donne des problèmes. – Martin

+0

@Sergey, mais ne vouliez-vous pas que le fichier soit dans les pots? –

+1

@Martin vous pouvez utiliser ' $ {project.build.directory}' –

Questions connexes