L'application nécessite une version JRE


Après la mise à jour Java vers 1.8.0_101 lorsque j'essaie d'exécuter mon application (qui après la compilation est .exe) apparaissent des informations This application requires a Java Runtime Environment 1.8.0_40 et l'application ne s'exécute pas. J'ai utilisé launch4j

Quelqu'un a le même problème ? Une idée pourquoi après la mise à jour Java il est montré ?

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>

Il y a launch4j configuration du 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>

MODIFIER

Après avoir changé le minVersion en 1.8.0._101 cela fonctionne mais je ne suis pas satisfait de cela, car lorsque la prochaine version de Java (par exemple 1.8.0_102) vient je vais devoir changer cela aussi...

Author: czArek, 2016-08-02

1 answers

Il semble qu'il y ait un bogue dans les anciennes versions de launch4j lorsque le numéro de version jre dépasse 100. Vous devez donc utiliser launch4j version 3.9 qui devrait être dans la version 1.7.11 du launch4j-plugin.

 1
Author: piet.t, 2016-08-02 12:39:31