应用程序需要 JRE 版本
Application requires a JRE version
更新 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
)出现时我也必须改变这个...
当 jre-version-number 超过 100 时,旧的 launch4j-versions 中似乎有 a bug。所以你必须使用 launch4j 3.9 版本,它应该在 launch4j-plugin 的 1.7.11 版本中.
更新 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
)出现时我也必须改变这个...
当 jre-version-number 超过 100 时,旧的 launch4j-versions 中似乎有 a bug。所以你必须使用 launch4j 3.9 版本,它应该在 launch4j-plugin 的 1.7.11 版本中.