in my pom exec-maven-plugin을 추가하여 파일을 생성하는 Java 클래스를 호출했습니다. 이 클래스는 main 메소드에 전달할 매개 변수가 필요하며, 그 중 하나는 입력 파일의 위치입니다 (프로젝트 외부). Maven - exec-maven-plugin에서 사용할 인수 전달
<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>
가 지금은 설치/패키지와 전쟁을 배포하는 허드슨을 사용하기 시작 그리고 난 더 이상이 상대 경로를 사용할 수 없습니다 : 지금까지 내가 잘 작동하는이에 대한 상대 경로를 사용했습니다./somedir
을 다음과 같이 치어 변경 :
MVN 깨끗한 패키지 -Dlangdir = C : 간단한 내가 좋아하는 받는다는를 호출 할 때 난 그냥 입력 파일의 위치를 통과, 생각
<argument>${langdir}/PMLanguage.xls</argument>
을 그러나이 매개 변수는 여기에서 단순히 무시됩니다. 주 클래스가 인수로받는 경로는 null/PMLanguage.xls이됩니다. 매개 변수 자체는 maven에서 사용할 수 있습니다. antrun 플러그인에서 echo를 사용하여 succes로 테스트했습니다. 올바른 경로가 에코되었습니다.
paven에서 전달한 매개 변수는 pom에서 참조하는 위치에 관계없이 기본적으로 사용할 수 없습니까? 어떤 도움
덕분에,
스테인
파스칼, 매우 유감 스럽지만 귀중한 시간을 낭비하는 것 같습니다. 설명 할 수는 없지만 포장을 다시 실행하면 제대로 작동합니다. 나는 어제 작동하지 않는 이유를 이해할 수 없도록 중간에 아무 것도 변경하지 않았습니다. 미안하지만 고마워. –