Advertencia: la ruta de compilación especifica el entorno de ejecución J2SE-1.4


140

Creo un proyecto Maven en Eclipse Helios. Funciona bien por un día, pero luego aparece esta advertencia:

La ruta de compilación especifica el entorno de ejecución J2SE-1.4. No hay JRE instalados en el espacio de trabajo que sean estrictamente compatibles con este entorno.

Desde este mensaje, el proyecto dejó de compilar y depurar. ¿Alguien tiene solución para este problema?

Respuestas:


226

En Eclipse de tu proyecto:

  1. Haga clic derecho en su proyecto
  2. Haga clic en Propiedades
  3. Ruta de compilación de Java: Bibliotecas; Elimine la "Biblioteca del sistema JRE [J2SE 1.4]"
  4. Haga clic en Agregar biblioteca -> Biblioteca del sistema JRE
  5. Seleccione el nuevo "Entorno de ejecución" o el JRE predeterminado del espacio de trabajo

43
Esta respuesta es correcta para Eclipse, pero incorrecta para Maven + Eclipse
Chris Dolan

17
Esto solucionará temporalmente el problema, hasta que se ejecute otra compilación de Maven, momento en el cual la versión de JRE se restablecerá a la predeterminada. Vea la respuesta de Pascal Thivent para cambiar la versión predeterminada del JRE especificada en el POM.
matthewb

Todo no funciona. Cada vez que haces [Alt] [F5] para actualizar la configuración de Maven, todos estos ajustes manuales obtienen muchas y la advertencia vuelve. Ver bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg

181

Ya sea que esté utilizando el complemento de eclipse maven o m2eclipse , la configuración del proyecto de Eclipse se deriva del POM, por lo que debe configurar el complemento del compilador maven para 1.6 (el valor predeterminado es 1.4).

Agregue lo siguiente a su proyecto pom.xml, guarde, luego vaya a su proyecto Eclipse y seleccione Propiedades> Maven> Actualizar configuración del proyecto:

<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>

44
Estoy de acuerdo, esta es la respuesta correcta. Muchas de las otras soluciones resolverán temporalmente el problema, hasta que se ejecute otra compilación de Maven, momento en el cual el JRE se restablecerá a la versión predeterminada. Agregar este complemento al POM cambia la versión predeterminada de JRE.
matthewb

¿Dónde (ubicación XPATH completa) en el pom.xml va esto? Donde sea que lo agregue, Maven se queja de un pompón malformado.
Ed Randall

2
Esta es la respuesta correcta. ¡La respuesta aceptada es una solución temporal!
Scott Offen


Tengo esto en mi maven pom.xml y TODAVÍA recibo la advertencia. Todo parece funcionar, pero la advertencia sigue ahí
ropo

10

Las soluciones anteriores solucionan el proyecto o solucionan el problema de alguna manera. A veces, simplemente no quieres arreglar el proyecto y simplemente escondes la advertencia.

Para hacerlo, configure el contenido del panel de advertencia y asegúrese de desactivar la categoría "ruta de compilación" -> "Problema de ruta del sistema JRE". La interfaz de usuario para este diálogo es un poco compleja / extraña / usabilidad, por lo que es posible que tenga que jugar con algunas de las opciones para que haga lo que desea.


Tengo dos espacios de trabajo configurados de la misma manera con un JDK 7 pero compilando a 1.6 (eventualmente nos trasladaremos). La vieja actualización de Windows cerró la máquina por completo, y el área de trabajo que estaba abierta comenzó a mostrar esto y no se aplacó. ¡Gracias por señalar un trabajo!
RedYeti

13
O de otra manera un poco más limpia: Ventana -> Preferencias -> Java -> Compilador -> Compilación -> Establezca "No JRE estrictamente compatible para el entorno de ejecución" a "Ignorar"
RedYeti

@RedYeti esto debería funcionar, pero no es para mí (Eclipse 4.5)
NathanChristie

3

En las preferencias de eclipse, vaya a Java-> JRE instalados-> Entorno de ejecución y configure un Entorno de ejecución JRE para J2SE-1.4


Esto solucionará temporalmente el problema, hasta que se ejecute otra compilación de Maven, momento en el cual la versión de JRE se restablecerá a la predeterminada. Vea la respuesta de Pascal Thivent arriba para cambiar la versión predeterminada del JRE especificada en el POM.
matthewb

No, esto está cambiando el espacio de trabajo instalado JRE y no el del proyecto específico (que es lo que tenía la respuesta aceptada)
AlBlue

3

La causa real de esta advertencia es que ha configurado su proyecto para que se ejecute con una versión anterior de JRE y luego lo haya instalado. En general, esto ocurre cada vez que utiliza proyectos antiguos con JRE más nuevos.

Esto probablemente no causará ningún problema en absoluto. Pero si quiere estar realmente del lado de guardar, debe instalar el JDK correcto y antiguo. Puede encontrarlos aquí: http://www.oracle.com/technetwork/java/archive-139210.html

Si luego reinicia eclipse, puede ir a Ventana> Preferencias> Java> JRE instalados> Entornos de ejecución y establecer en su caso J2SE-1.4 la [coincidencia perfecta] como lo llama eclipse.


Elegido porque tengo un proyecto Java 7 y solo Java 8 instalado.
Amedee Van Gasse

2

Si tienes Java 1.8 entonces

Necesita esta parte xml en pom.xml y el proyecto de actualización.

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

2

El procedimiento correcto para resolver esta advertencia, como escriben otras personas, es ir dentro de las Propiedades del proyecto y hacer clic en Java Build Path ubicado a la izquierda. Ahora encontrará dentro de la Ventana de Bibliotecas el J2SE 1.5 , haga doble clic en este y una nueva ventana le dará la posibilidad de elegir el Entorno de ejecución correcto . Ahora seleccione su versión y la advertencia desaparecerá.


1

¿Configuró su proyecto para que se compilara con el cumplimiento 1.4? Si es así, haz lo que dijo Krock . O para ser más exactos, debe seleccionar el entorno de ejecución J2SE-1.4 y marcar uno de los JRE instalados que desea usar en el modo de cumplimiento 1.4; lo más probable es que tengas un 1.6 JRE instalado, solo verifícalo. O instale un 1.4 JRE si tiene un kit de instalación y utilícelo.

De lo contrario, vaya a sus preferencias de Eclipse, Java -> Compilador y compruebe si el cumplimiento está establecido en 1.4. Si es así, vuelva a cambiarlo a 1.6. Si no es así, vaya a las propiedades del proyecto y verifique si tiene configuraciones específicas del proyecto. Vaya al compilador de Java y desactívelo si desea usar las preferencias generales de eclipse. O establezca la configuración específica del proyecto en 1.6, de modo que siempre sea 1.6 independientemente de las preferencias de eclipse.


Esto solucionará temporalmente el problema, hasta que se ejecute otra compilación de Maven, momento en el cual la versión de JRE se restablecerá a la predeterminada. Vea la respuesta de Pascal Thivent arriba para cambiar la versión predeterminada del JRE especificada en el POM.
matthewb

0

Simplemente cambie la versión en Ventana-> Preferencias-> Java -> JRE instalados. Verifique la lista de JRE instalados. Luego, haga clic derecho en su proyecto -> propiedades -> ruta de compilación de Java -> bibliotecas. Cambie la "Biblioteca del sistema JRE" a la versión en "JRE instalados".

La advertencia se habrá ido.


-1

Recibí una advertencia del proyecto porque "La ruta de compilación especifica el entorno de ejecución J2SE-1.5. No hay JRE instalados en el espacio de trabajo que sean estrictamente compatibles con este entorno ". Eliminé la biblioteca J2SE1.5 y agregué una nueva biblioteca del sistema JRE que resolvió mi problema


¿Cómo difiere esto de la respuesta de btpka3 ?
Stevoisiak

-1

Expanda su proyecto en el espacio de trabajo >> Haga clic derecho (Bibliotecas del sistema JRE) >> seleccione propiedades >> selectworkspace default JRE la solución anterior sol


Esto solo repite la información cubierta por la respuesta de
btpka3
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.