После обновления Java
до 1.8.0_101
при попытке запустить мое приложение (которое после компиляции .exe
) появляется информация This application requires a Java Runtime Environment 1.8.0_40
и приложение не работает. Я использовал launch4j
Приложение требует версии JRE
У кого-то есть такая же проблема? Любая идея, почему после обновления 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
<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>
EDIT
После изменения minVersion
к 1.8.0._101
он работает, но я не доволен этим, потому что когда в следующий раз версия Java
(например, 1.8.0_102
) приходит, мне тоже придется это изменить ...
Какой инструмент вы использовали для создания '.exe'? –
Компиляция с использованием 'Intelij IDEA' – czArek
Я не думаю, что IDEA как IDE может генерировать' .exe'-файлы (по крайней мере, я не нашел ничего, что указывало бы на это). У вас может быть какая-то оболочка java-exe или что-то в этом роде. –