我使用Izpack 5.1.2,根据documentation,以下内容用于启用调试信息:
java -DDEBUG=true -jar installer.jar
java -DSTACKTRACE=true -jar installer.jar
java -DTRACE=true -jar installer.jar
还有:
<guiprefs>
<modifier key="showDebugWindow" value="true"/>
</guiprefs>
因此,我假设禁用调试信息,因此调试窗口不会显示,我只需要将上面的内容更改为false。
不幸的是,即使将上述所有内容设置为 false ,当我执行安装程序时,调试窗口仍会显示。
为了为java工件创建一个exe,我用launch4j包装它,添加部分将java变量设置为false:
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<executions>
<execution>
<id>l4j-clui</id>
<phase>install</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>console</headerType>
<jar>target/${installer-output-filename}.jar</jar>
<outfile>target/${installer-output-filename}.exe</outfile>
<classPath>
<mainClass>com.izforge.izpack.installer.bootstrap.Installer</mainClass>
</classPath>
<downloadUrl>http://java.com/download</downloadUrl>
<jre>
<bundledJre64Bit>false</bundledJre64Bit>
<bundledJreAsFallback>false</bundledJreAsFallback>
<minVersion>1.8.0</minVersion>
<jdkPreference>preferJre</jdkPreference>
<runtimeBits>64</runtimeBits>
<opts>
<opt>-DTRACE=false</opt>
<opt>-DSTACKTRACE=false</opt>
<opt>-DDEBUG=false</opt>
</opts>
</jre>
....
我无法理解为什么在将所有调试变量设置为false后,调试窗口仍会显示。
答案 0 :(得分:0)
问题不在于IzPack配置,而是在Launch4J配置上,因为 headerType 标签配置不正确:
<headerType>console</headerType>
为了禁用控制台输出我应该使用gui选项:
<headerType>gui</headerType>