저는 install4j와 함께 maven-antrun-plugin을 사용하여 응용 프로그램의 설치 프로그램을 빌드하고 있습니다. java가 (시스템) 경로에 없으면 작동하지 않습니다. 새 Java 프로세스를 실행하여 작업을 수행하기 때문에 환경 변수를 전달할 수있는 방법이 있어야하지만이를 이해할 수는 없습니다.antrun 플러그인에 새로운 환경 변수를 전달하려면 어떻게해야합니까?
Install4J는 EXE4J_JAVA_HOME
을 사용하여 Java 설치를 선택합니다. antrun-plugin을 통해 ant에 전달하려고합니다. 나는 그것을하기의 약간 hackish 방법을 생각할 수있다, 그러나 나가 바라 보는 간단한 무언가가 있어야한다. 참고로, 여기 내 antrun의 설정입니다 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!--suppress MavenModelInspection -->
<taskdef name="install4j" classname="com.install4j.Install4JTask"
classpath="${install4j.ant.path}"/>
<install4j projectfile="itma-assembly-client-swing.install4j" buildids="62">
<variable name="verbose.version.number" value="${verbose-version-number}"/>
<variable name="media.file.prefix" value="${media-file-prefix}"/>
<variable name="main.class" value="${itma-client-swing-bootstrap-main-class}"/>
</install4j>
</target>
</configuration>
</execution>
</executions>
</plugin>
exec를 사용하는 것이 좋습니다. 나는이 문제를 해결할 수 있었다. 그래서 나는이 대답을 받아 들였다. Gradle을 사용해도이 작업을 수행 할 수 있었던 유일한 방법은 제공된 ant 작업을 무시하고 명령을 직접 실행하는 것이 었습니다. 또한,'EXE4J_JAVA_HOME'과'INSTALL4J_JAVA_HOME_OVERRIDE'는 최소한 Install4j (4.2.8)의 이전 버전을 가진 리눅스에서만 동작합니다. –