私は、アプリケーションのインストーラをビルドするために、install4jでmaven-antrun-pluginを使用しています。 javaが(システム)パスにない場合は動作しません。新しいJavaプロセスを実行してタスクを実行するので、環境変数を渡す方法が必要ですが、わかりません。antrunプラグインに新しい環境変数を渡すにはどうしたらいいですか?
Install4JはEXE4J_JAVA_HOME
を使用してJavaインストールを選択します。 antrun-plugin経由でantに渡したいと思います。私はそれをやっているいくつかのハックの方法を考えることができますが、私は見落としている簡単なものがなければならない。参考のために、ここで私の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)の以前のバージョンでは動作します。 –