Tengo un code.jar funcionando bien en la versión 1.7 de java, pero cuando se utiliza otro equipo con linux con la versión 1.6 se me está dando un error, ¿cómo puedo ejecutarlo en la versión 1.6?

  • ¿Cuál es el error? Podría ser muy bien que usted necesita la última versión de JDK para ejecutarlo, y punto.
  • Excepción en el thread «main» java.lang.UnsupportedClassVersionError: tes : no admitidos principales.versión menor 51.0 en java.lang.Cargador de clases.defineClass1(Native Method) at java.lang.Cargador de clases.defineClass(cargador de clases.java:634) en java.de seguridad.SecureClassLoader.defineClass(SecureClassLoader.java:142) en java.net.URLClassLoader.defineClass(URLClassLoader.java:277) en java.net.URLClassLoader.acceso$000(URLClassLoader.java:73) en java.net.URLClassLoader$1.ejecutar(URLClassLoader.java:212) …… No se pudo encontrar la clase principal: tes. Programa de salida.
  • el error se ve como esta en el comentario de arriba
  • Usted necesita para crear .los archivos de clase de uso de un JDK 1.6 o el uso de la -target=1.6 opción a la hora de compilar (pero que no ayudarán si usted está utilizando Java7 características)
  • De vuelta en los viejos días de Java 1.4 puede usar Retroweaver para ejecutar 1.5 código en un JRE 1.4. Lástima que no funciona…
  • ¿Es necesario desinstalar la versión de JDK 1.7 ?

InformationsquelleAutor user1475288 | 2012-08-22

5 Comentarios

  1. 3

    Utilizar el cruz-opciones de compilación al invocar javac.

    Si sólo la -target opción se especifica como se recomienda en la mayoría de las otras respuestas, el SDK 1.7 emitirá una advertencia acerca de -bootclasspath. Que opción requiere una rt.jar de la meta de la versión de JRE (nota no JDK). Esto permite que el compilador para comprobar que las clases, métodos y atributos del código que el núcleo de referencia de Java SE está realmente presente en la rt.jar. Esto es muy importante para asegurar la compatibilidad.

  2. 1

    Si el código no está compilado con una mayor Java indicador de compatibilidad, usted no será capaz de ejecutar en 1.6.

    • ¿cuál es la solución ¿cómo puedo cambiar mi código para ser capaz de funcionar en una versión anterior
    • Primero asegúrese de que el código fuente que termina en code.jar es compilable con Java 1.6. Luego, al compilar con javac, utilice el objetivo 1.6 bandera.
  3. 1

    Construir el proyecto con Java 6 en eclipse, usted tendrá que descargar el Java JRE 1.6, luego de haber eclipse punto 1.6 de JRE, ver: http://www.cleartoolkit.com/dokuwiki/doku.php?id=clearwiki:20.cleardatabuilder:01.setup:01.prerequisites

    Ahora haga clic derecho sobre el proyecto -> Propiedades, haga clic en el Compilador Java, desmarque la opción «habilitar proyecto específico de la configuración», haga clic en «Configurar la Configuración del área de trabajo» , y seleccione 1.6 como su compilador nivel de cumplimiento.

    Hacer «la cosa» para exportar de nuevo el proyecto, el nuevo frasco debe trabajar.

    Espero que esto ayude.

  4. 0

    Yo creo que no se puede ejecutar la versión más alta de la clase con una versión más baja.

    Puede ser otro enfoque al compilar conjunto versión de destino como 1.6.

    Ejemplo:

    javac yourFile.java -target 1.6
    • ¿cuál es el elogio ? puedo escribir javac -fuente 1.6 code.jar??
    • No es la fuente, es el objetivo. Leer el enlace que aparece en mi respuesta.
    • pero si mi archivo es «yourfile.jar» ¿puedo usar javac file.jar objetivo 1.6?
    • No creo que usted puede usar esto en contra de la jarra.
    • Escribí el código utilizando eclipse, entonces hice la exportación cosa para que yo pueda usar fuera de eclipse, pero la versión de java está a 1,7 en mi equipo
    • Si usted lo está haciendo en eclipse, establecer compilador de la versión 1.6 en eclipse. Todo cuidado.
    • ¿cómo puedo configurar el compilador de la versión 1.6 en eclipse soy nuevo en eclipse :S
    • vea la captura de pantalla en este enlace, vaya al compilador de Java y el cambio a 1.6 stackoverflow.com/questions/4638108/…
    • Tengo una pregunta no relacionada con el tema, si yo era la apertura de una sesión de terminal con un servidor y ejecutar un código en el servidor, entonces puedo cerrar esta sesión, ¿el código deja de funcionar?
    • Que es el mismo comando para la construcción de un jar archivo?

  5. 0

    He encontrado una solución dentro de Eclipse!

    Si usted va a su proyecto y haga clic derecho para acceder a las propiedades, hay una pestaña llamada Compilador de Java. Si habilita proyecto propiedades específicas y cancele la selección de la casilla de verificación bajo el JDK de cumplimiento, puede cambiar la fuente y compatibilidad .los archivos de clase de compatibilidad para ser 1.6.

    Esto debería solucionar el problema y los generados .archivo jar debe trabajar en ambos dispositivos. He probado esta moviendo un archivo de 1.8 a 1.7 y pruebas en mi Raspberry Pi que ha OpenJDK 1.7, que funcionaba de maravilla. Espero que esto ayude.

Dejar respuesta

Please enter your comment!
Please enter your name here