当我尝试运行我的应用程序(编译后为Java
)时,将1.8.0_101
更新为.exe
后,会显示信息This application requires a Java Runtime Environment 1.8.0_40
且应用程序未运行。我使用了launch4j
有人有同样的问题吗?知道为什么在更新后显示Java
?
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>${project.build.sourceEncoding}</encoding>
<executable>${env.JAVA_HOME}</executable>
<compilerArguments>
<bootclasspath>${env.JAVA_HOME}/jre/lib/rt.jar:${env.JAVA_HOME}/jre/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
有launch4j
插件配置
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<id>l4j-gui</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<outfile>target/App.exe</outfile>
<jar>target/App.jar</jar>
<priority>high</priority>
<errTitle>App</errTitle>
<classPath>
<mainClass>com.app.Main</mainClass>
</classPath>
<jre>
<minVersion>1.8.0_40</minVersion>
</jre>
<versionInfo>
<productName>App</productName>
<internalName>app</internalName>
<originalFilename>App.exe</originalFilename>
</versionInfo>
</configuration>
</execution>
</executions>
</plugin>
修改
将minVersion
更改为1.8.0._101
后,它可以正常运行,但我对此不满意,因为当Java
的下一个版本(例如1.8.0_102
)出现时,我会有改变这个......
答案 0 :(得分:1)
当jre-version-number超过100时,似乎在旧的launch4j版本中有a bug。所以你必须使用launch4j版本3.9,它应该在launch4j-plugin的1.7.11版本中。 / p>