wake-up-neo.net

Die Java-Version wechselt nach dem Maven-Update automatisch auf Java 1.5

Ich benutze Eclipse als IDE. Wenn ich mit der rechten Maustaste auf das Projekt und dann auf Maven klicke, aktualisieren Sie meine Java-Version auf 1.5. Hier ist das, was ich bisher gemacht habe, ich habe alle hier aufgeführten Schritte befolgt 

http://qussay.com/2013/09/13/solving-dynamic-web-module-3-0-requires-Java-1-6-oder-newer-in-maven-projects/

  1. Ich habe "Java Build Path" in "Workspace Default Jre 1.8.0_25" geändert.
  2. Dann wurde "Java-Compiler" in 1.8 geändert
  3. Dann geändert "Projektfacetten"> Java> 1.8
  4. Pom.xml Java-Version in 1.8 geändert
    <build>
        <plugins>
            <plugin>
                <groupId>org.Eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.1.3.v20140225</version>
            </plugin>
            <plugin>
                <groupId>org.Apache.maven.plugin</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

Nach all dem, wenn ich auf "Maven Update" klicke, wechselt meine Java-Version automatisch auf 1.5. Auch in den obigen Schritten wird die Version des ersten zwei Schritts automatisch auf 1,5 geändert. Wie kann ich das beheben?

75
asdlfkjlkj

Öffnen Sie Ihre pom.xml-Datei und fügen Sie die folgenden Zeilen hinzu:

<properties>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Dabei ist 1.8 die Java-Version Ihres aktuellen JDK/JRE. Eine andere Möglichkeit besteht darin, einen <build> mit dem maven-compile-plugin als hinzuzufügen 

<build>
<plugins>
  <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version> <!-- or whatever current version -->
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
</plugins>
</build>

EDIT

Wenn Sie nach einer Möglichkeit suchen, Java mit der Java-Version 9+ zum Laufen zu bringen, werfen Sie einen Blick auf @ JDelorean'sanswer hier unten und vergessen Sie nicht, ihm auch eine positive Meinung zu geben :)

154
Jorge Campos

Hatte dasselbe Problem, als ich Java 9 installierte. Mein Projekt würde standardmäßig die J2SE-1.5-Ausführungsumgebung verwenden. Seltsamerweise wird der Java 9-Übereinstimmungsgrad nicht wie in früheren Versionen angegeben, d. Also musste ich meine Eigenschaften und das Maven Compiler Plugin config entsprechend angeben:

<properties>
    <maven.compiler.source>9</maven.compiler.source>
    <maven.compiler.target>9</maven.compiler.target>
</properties>

und

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>9</source>
        <target>9</target>
    </configuration>
</plugin>

Dies scheint das Problem gelöst zu haben.

9
JDelorean

Die Hauptursache für dieses Problem ist, dass, wenn aus irgendeinem Grund Eclipse's einen gültigen Wert für nicht auflösen können Die Eigenschaft maven.compiler.source verwendet standardmäßig org.Eclipse.jdt.launching.JRE_CONTAINER/org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5, wenn die .classpath-Datei aus dem pom generiert/aktualisiert wird.

Wie von Experten mit @ jorge-campos beantwortet, gibt es mehrere Möglichkeiten, diese Eigenschaft festzulegen.

Jorges Antwort schien jedoch nicht für mich zu funktionieren . Hier waren meine Einstellungen:

<properties>
    <javaVersion>1.8</javaVersion>
    <maven.compiler.source>${Java.version}</maven.compiler.source>
    <maven.compiler.target>${Java.version}</maven.compiler.target>
</properties>

...

Genau. ${Java.version} Wird niemals in die (völlig andere) Eigenschaft javaVersion aufgelöst, und Eclipse hat die Eigenschaft ignoriert und die Standardeinstellung verwendet.

Das bringt mich zurück zu dem Teil " aus irgendeinem Grund ", mit dem ich begonnen habe; Entwicklerdummheit kann einer dieser Gründe sein.

5

Fügen Sie diese Zeilen zu Ihrer pom.xml hinzu, und klicken Sie dann mit der rechten Maustaste auf Ihre JRE-Systembibliothek -> Eigenschaften.

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version> <!-- or whatever current version -->
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin> 
2
Avinav Mishra

Ich hatte dieses Problem. In meinem Fall waren das <properties> -Tag und die geschachtelten Tags, die Jorge Campos oben erwähnt hat, an der falschen Stelle. Wenn ich sie zwischen die Tags <hostversion> und <dependencies> in der Datei pom.xml setze, wurde dieses Verhalten beendet.

Das kann in Eclipse abgeholt werden, wenn die Validierung dieser Dateien eingeschaltet ist.

1
nsandersen

Ich habe ein ähnliches Problem auf einem meiner Teamkameraden. Er benutzte eine alte Version von Eclipse, ich glaube es war Keppler. Projekt nach dem Update ändern JRE-Version auf 1.5. 

Einfaches Update von Eclipse auf die neueste Version löst dieses Problem.

1
user902383

Ich erlaube mir, dieses Thema mit Java 11 zu aktualisieren. 

Ich habe OpenJDK11 auf meinem Computer installiert und wollte es in einer App verwenden.

Ich hatte Probleme, weil Eclipse meine JRE immer auf JavaSE-1.5 umstellte, wenn ich mein Projekt mit Maven aktualisiere. 

Ich hatte alles so eingestellt, wie Sie es sagten, aber ich habe immer direkt in meinem Java-Build-Pfad "Java-11-openjdk.x86_64" als eine meiner Alternante-JREs ausgewählt. Ich habe mein Problem behoben, indem Sie in "Ausführungsumgebung" JavaSE-10 ausgewählt haben (Sie müssen jedoch darauf doppelklicken und dann als kompatible JRE Ihre OpenJDK11-Version auswählen), wie auf dem Bild gezeigt . Ausführungsumgebung einrichten

Das Projekt verwendet Java 11 dank dessen (Bild), aber Sie müssen 10 für die Java-Version in pom.xml schreiben und außerdem Java 10 in den Project Facets einstellen.

0
Claeyssic

In meinem Fall (altes JBoss Developer Studio) bestand das Problem darin, dass die JRE-Umgebungen keine 1.8 (nur 1.7) enthielten. Als ich die maven-compiler-plugin-Version auf 1.7 umstellte und ein Maven-Update-Projekt durchführte, wurde die Eclipse-JRE-Systembibliothek auf 1.7 . aktualisiert. enter image description here

Die Lösung besteht also darin, entweder eine neuere IDE -Version zu installieren, die eine integrierte JRE-Umgebung (Version 1.8 oder höher) enthält, oder versuchen, sie manuell zu installieren (siehe https://stackoverflow.com/a/35204314) )

0