cómo hacer que la compatibilidad entre las dos partes de trabajo en diferentes versiones de jdk
-
15-09-2020 - |
Pregunta
Mi proyecto es construir en el JDK 1.4.2.Ahora que se va a interactuar con un tercero jar, construir en el JDK 1.6
Estoy recibiendo problema de compatibilidad, mientras que el uso de cliente de clases.Es posible resolverlo sin actualizar mi JDK 1.6 o la reconstrucción de terceros jar en la 1.4.2
Solución
Usted puede ejecutar una clase compilada con JDK 1.6 anteriores JDK 1.4, porque usted tiene un java.lang.UnsupportedClassVersionError
excepción.Esto es debido a que Java no es compatible, solo es compatible con versiones anteriores (ver especificación).
Con el fin de verificar que tengo instalado el JDK 1.4.2.19 y JDK 1.6.0.23 y escribió una aplicación de ejemplo:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }
Construido con JDK 1.6.0.23:
../1.6.0.23/bin/javac HelloWorld.java
Y lo ejecuta con JDK 1.4.2.19:
../1.4.2.19/bin/java HelloWorld
Salida:
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld (No compatible principales.versión menor 50.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) ...
Solución:Usted puede tratar de reconstruir su aplicación de terceros con JDK 1.4, si no llamar a los métodos introducidos en 1.6 (y 1.5).