내 프로젝트의 install4j에 대한 maven 플러그인을 사용 중입니다. 위치는 here입니다. 이 플러그인을 사용하면 <compilerVariables>
섹션을 사용하여 install4j에 변수를 전달할 수 있습니다. 여기 내 치어 관련 부분입니다 :Maven : 속성이 대체되지 않음
<plugin>
<groupId>com.google.code.maven-install4j</groupId>
<artifactId>maven-install4j-plugin</artifactId>
<version>0.1.1</version>
<configuration>
<executable>${devenv.install4jc}</executable>
<configFile>${basedir}/newinstaller/ehd.install4j</configFile>
<releaseId>${project.version}</releaseId>
<attach>false</attach>
<skipOnMissingExecutable>false</skipOnMissingExecutable>
<compilerVariables>
<property>
<name>m2_home</name>
<value>${settings.localRepository}</value>
</property>
</compilerVariables>
</configuration>
</plugin>
문제는 내가 플러그인을 실행하면 $ {settings.localRepository가} 실제 디렉토리로 대체되지 않을 것입니다. 다음은 install4j가 생성하는 명령 행 스크립트입니다.
[INFO] Running the following command for install4j compile: /bin/sh -c /home/zach/install4j/bin/install4jc --release=9.1-SNAPSHOT --destination="/home/zach/projects/java/ehdtrunk/target/install4j" -D m2_home=${settings.localRepository} /home/zach/projects/java/ehdtrunk/newinstaller/ehd.install4j
플러그인의 결함입니까? 그렇다면 대체를 허용하기 위해 무엇을 변경해야합니까?
이것은 직선 명령 줄 Maven 2입니다. 그리고 예, antrun 플러그인에서 해당 속성을 사용할 때 올바른 결과를 얻습니다. 플러그인에 문제가있는 것으로 보입니다. antrun 플러그인이 그런 속성 입력으로 무엇을하는지 알아보고이 플러그인에 적용 할 수 있는지 확인합니다. – UrLicht
@jobrahms * 플러그인에 문제가있는 것으로 보입니다. * 그렇습니다. –
@jobrahms 나는 'mvn help : evaluate'을 사용하여 antrun 밖에서 속성을 테스트하고 적절히 해결되었는지 확인했습니다. –