no'lu dizideki geçiş argümanını bir dosya oluşturacak bir java sınıfını çağırmak için exec-maven eklentisini ekledim. Bu sınıf, ana yönteme geçirilecek bazı parametreler gerektirir, bunlardan biri bir girdi dosyasının yeridir (proje dışında). Maven - exec-maven eklentisi
<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>
Şimdi yükleme/paketi ve savaşlara dağıtmak için hudson kullanmaya başladım ve ben artık bu göreli bir yol kullanamazsınız: Şimdiye kadar iyi çalışır ki bunun için göreli bir yol kullanıyorum./Somedir
ve sonra gibi pom değiştirmek:
mvn temiz paket -Dlangdir = C: Basit ben gibi maven çağrılırken sadece girdi dosyasının konumunu geçmesi, düşünce
<argument>${langdir}/PMLanguage.xls</argument>
Ancak, bu parametre burada göz ardı edilir. Ana sınıfın argüman olarak aldığı yol null/PMLanguage.xls olur. Parametrenin kendisi maven'de mevcut, antrun eklentisinde bir eko kullanarak başarı testi yaptım. Doğru yol yankılandı.
Maven'e geçtiğiniz ve daha sonra bunları pompasında nereye referans gösterdiğinizden bağımsız olarak mevcut değiller mi? Herhangi bir yardım için
sayesinde
Stijn
Pascal, çok üzgünüm ama değerli zamanınızı harcadım gibi görünüyor. Bunu açıklayamam ama ambalajı yeniden çalıştırdığımda iyi çalışıyor. Aradaki hiçbir şeyi değiştirmedim, bu yüzden dün neden çalışmadığını anlamıyorum. Yani üzgünüm ama teşekkürler. –