Maven passe - argument à utiliser dans exec-maven-plugin
dans mon pompon, j'ai ajouté la commande exec-maven-plugin pour appeler une classe java qui va générer un fichier. Cette classe nécessite certains paramètres à passer à la méthode main, un de ceux est l'emplacement d'un fichier d'entrée (en dehors du projet). Jusqu'à maintenant j'ai été en utilisant un chemin relatif pour ce qui fonctionne très bien:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.laco.projectmaster.util.LanguageGenerator</mainClass>
<arguments>
<argument>../PM-Config/dev/PMLanguage.xls</argument>
<argument>PM4.0</argument>
<argument>${project.build.outputDirectory}/com/laco/projectmaster/props/resources</argument>
<argument>ProjectMaster</argument>
<argument>Created during maven build (POM Version: ${pom.version})</argument>
</arguments>
</configuration>
</plugin>
Maintenant, je commence à utiliser hudson pour installer/empaqueter et déployer les guerres et je ne peut plus utiliser ce chemin d'accès relatif. Simple j'ai pensé, je viens de passer à l'emplacement du fichier d'entrée lors de l'invocation de maven comme:
mvn clean package -Dlangdir=C:/somedir
et ensuite modifier la pom comme:
<argument>${langdir}/PMLanguage.xls</argument>
Cependant, ce paramètre obtient tout simplement ignoré ici. Le chemin de la classe principale reçoit comme argument devient null/PMLanguage.xls . Le paramètre est disponible dans maven, j'ai testé avec succès à l'aide d'un echo dans le antrun plugin. Le chemin d'accès correct était fait l'écho.
Sont les paramètres à utiliser vous passez à maven alors pas disponibles par défaut, peu importe où vous faites référence à eux dans le pom?
merci pour toute aide,
Stijn
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas reproduire le problème. J'ai utilisé les méthodes suivantes de la classe de test:
Et suivantes pom.xml:
Et ici est le résultat que j'obtiens:
Testé avec Maven 2.2.1.