Avviso: il percorso di build specifica l'ambiente di esecuzione J2SE-1.4


141

Creo un progetto Maven in Eclipse Helios. Funziona bene per un giorno, ma poi viene visualizzato questo avviso:

Il percorso di build specifica l'ambiente di esecuzione J2SE-1.4. Non ci sono JRE installati nell'area di lavoro che sono strettamente compatibili con questo ambiente.

Da questo messaggio, il progetto ha interrotto la compilazione e il debug. Qualcuno ha una soluzione per questo problema?

Risposte:


226

In Eclipse dal tuo progetto:

  1. Fai clic con il tasto destro del mouse sul tuo progetto
  2. Fai clic su Proprietà
  3. Percorso di compilazione Java: Librerie; Rimuovere la "Libreria di sistema JRE [J2SE 1.4]"
  4. Fare clic su Aggiungi libreria -> Libreria di sistema JRE
  5. Selezionare il nuovo "Ambiente di esecuzione" o JRE predefinito dell'area di lavoro

43
Questa risposta è giusta per Eclipse, ma sbagliata per Maven + Eclipse
Chris Dolan,

17
Ciò risolverà temporaneamente il problema, fino a quando non verrà eseguita un'altra build maven, a quel punto la versione JRE verrà ripristinata ai valori predefiniti. Vedere la risposta di Pascal Thivent per modificare la versione predefinita di JRE specificata nel POM.
matthewb,

Tutto non funziona. Ogni volta che si fa [Alt] [F5] per aggiornare la configurazione maven, tutte queste modifiche manuali ottengono molte e l'avvertimento ritorna. Vedi bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg

181

Sia che tu stia usando il plugin maven eclipse o m2eclipse , la configurazione del progetto di Eclipse è derivata dal POM, quindi devi configurare il plugin del compilatore maven per 1.6 (il suo valore predefinito è 1.4).

Aggiungi quanto segue al tuo progetto pom.xml, salva, quindi vai al tuo progetto Eclipse e seleziona Proprietà> Maven> Aggiorna configurazione progetto:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>

4
Sono d'accordo, questa è la risposta corretta. Molte delle altre soluzioni risolveranno temporaneamente il problema, fino a quando non verrà eseguita un'altra build Maven, a quel punto JRE verrà ripristinato alla versione predefinita. L'aggiunta di questo plug-in alla POM modifica la versione JRE predefinita.
matthewb,

Dove si trova (posizione XPATH completa) in pom.xml? Ovunque lo aggiunga, Maven si lamenta di un pom malformato.
Ed Randall,

2
Questa è la risposta corretta La risposta accettata è una soluzione temporanea!
Scott Offen,


Ho questo nel mio pom.xml maven e ANCORA ottenere l'avvertimento. Tutto sembra funzionare ma l'avvertimento è ancora lì
ropo

10

Le soluzioni precedenti risolvono il progetto o aggirano il problema in qualche modo. A volte non vuoi semplicemente riparare il progetto e nascondere invece l'avviso.

Per fare ciò, configura il contenuto del pannello di avvertenza e assicurati di disattivare la categoria "percorso build" -> "Problema percorso sistema JRE". L'interfaccia utente per questa finestra di dialogo è un po 'complessa / bizzarra / usabilità messa in discussione, quindi potresti dover giocherellare con alcune delle opzioni per farlo fare quello che vuoi.


Ho due aree di lavoro configurate allo stesso modo con un JDK 7 ma compilando a 1.6 (alla fine ci sposteremo). La macchina è stata spenta a causa del buon vecchio Windows Update - e l'area di lavoro aperta ha iniziato a mostrare questo e non sarebbe stata sgretolata. Grazie per aver segnalato un lavoro in giro!
RedYeti,

13
O un altro modo leggermente più pulito: Finestra -> Preferenze -> Java -> Compilatore -> Edificio -> Imposta "Nessun JRE strettamente compatibile per l'ambiente di esecuzione" su "Ignora"
RedYeti,

@RedYeti dovrebbe funzionare ma non fa per me (Eclipse 4.5)
NathanChristie

3

Nelle preferenze eclipse, vai su Java-> JRE installati-> Ambiente di esecuzione e imposta un Ambiente di esecuzione JRE per J2SE-1.4


Ciò risolverà temporaneamente il problema, fino a quando non verrà eseguita un'altra build maven, a quel punto la versione JRE verrà ripristinata ai valori predefiniti. Vedere la risposta di Pascal Thivent sopra per modificare la versione predefinita di JRE specificata nel POM.
matthewb,

No, questo sta cambiando i JRE installati nell'area di lavoro e non quello per il progetto specifico (che è quello che aveva la risposta accettata)
AlBlue,

3

La causa effettiva di questo avviso è che il progetto è stato configurato per l'esecuzione con una versione JRE precedente, quindi è stato installato. Generalmente ciò si verifica ogni volta che si utilizzano vecchi progetti con JRE più recenti.

Ciò probabilmente non causerà alcun problema. Ma se vuoi essere davvero sul lato del salvataggio, dovresti installare il JDK corretto e vecchio. Puoi trovarli qui: http://www.oracle.com/technetwork/java/archive-139210.html

Se riavvii eclipse puoi accedere a Finestra> Preferenze> Java> JRE installati> Ambienti di esecuzione e impostare nel tuo caso J2SE-1.4 la [corrispondenza perfetta] come la chiama eclipse.


Eseguito l'upgrade perché ho un progetto Java 7 e solo Java 8 installato.
Amedee Van Gasse,

2

Se hai Java 1.8 allora

Hai bisogno di questa parte xml in pom.xml e aggiorna il progetto.

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

2

la procedura corretta per risolvere questo avviso, come scrivono altre persone, è quella di andare all'interno delle proprietà del progetto e fare clic su Percorso build Java situato a sinistra. Ora troverai nella finestra Librerie il J2SE 1.5 , fai doppio clic su questo e una nuova finestra ti darà la possibilità di scegliere l' ambiente di esecuzione corretto . Ora seleziona la tua versione e l'avviso scomparirà.


1

Hai impostato il tuo progetto per essere compilato con conformità 1.4? Se è così, fai quello che ha detto Krock . Oppure, per essere più precisi, è necessario selezionare l'ambiente di esecuzione J2SE-1.4 e selezionare uno dei JRE installati che si desidera utilizzare nella modalità di conformità 1.4; molto probabilmente avrai un 1.6 JRE installato, basta controllare quello. Oppure installa un 1.4 JRE se disponi di un kit di installazione e utilizzalo.

Altrimenti vai alle tue preferenze Eclipse, Java -> Compilatore e controlla se la conformità è impostata su 1.4. In caso affermativo, ripristinalo in 1.6. In caso contrario, vai alle proprietà del progetto e controlla se ha impostazioni specifiche del progetto. Vai a Java Compiler e deseleziona questa opzione se desideri utilizzare le preferenze di eclissi generali. Oppure imposta le impostazioni specifiche del progetto su 1.6, in modo che sia sempre 1.6 indipendentemente dalle preferenze di eclissi.


Ciò risolverà temporaneamente il problema, fino a quando non verrà eseguita un'altra build maven, a quel punto la versione JRE verrà ripristinata ai valori predefiniti. Vedere la risposta di Pascal Thivent sopra per modificare la versione predefinita di JRE specificata nel POM.
matthewb,

0

Basta cambiare la versione in Finestra-> Preferenze-> Java -> JRE installati. Controllare l'elenco dei JRE installati. Quindi, fare clic con il tasto destro del mouse sul progetto -> proprietà -> percorso di compilazione Java -> librerie. Modificare la "Libreria di sistema JRE" sulla versione in "JRE installati".

L'avvertimento sparirà.


-1

Stavo ricevendo un avviso di progetto poiché "Il percorso di costruzione specifica l'ambiente di esecuzione J2SE-1.5. Non ci sono JRE installati nell'area di lavoro che sono strettamente compatibili con questo ambiente ". Ho rimosso la libreria J2SE1.5 e aggiunto una nuova libreria di sistema JRE che ha risolto il mio problema


In cosa differisce dalla risposta di btpka3 ?
Stevoisiak,

-1

Espandi il tuo progetto nello spazio di lavoro >> Fai clic con il pulsante destro del mouse (Librerie di sistema JRE) >> seleziona proprietà >> seleziona area di lavoro predefinita JRE


Questo ripete solo le informazioni coperte dalla risposta di
btpka3
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.