Quiero compilar mis .java (varios) en uno .jar
que son compatibles con al menos Java 1.6
y más reciente, preferiblemente Java 1.5
y versiones más recientes de Java. (Tengo Java 1.7.0_5
)¿Cómo compilo un .java con soporte para versiones anteriores de Java?
Respuesta
Sí, se puede establecer la versión del compilador en tiempo de compilación. Y compila tu código java en versiones antiguas de java.
Del artículo Oracle: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html
compilación cruzada Ejemplo
Aquí se utiliza javac para compilar el código que se ejecutará en una máquina virtual 1.4.
% javac -target 1.4 -bootclasspath jdk1.4.2/lib/classes.zip \
-extdirs "" OldCode.java
Es posible que también necesite el siguiente parámetro para establecer la versión de su código.
-source release
: especifica la versión del código fuente aceptado.
Puede usar javac -target 1.5 <source files>
.
Si está utilizando un sistema de compilación, Eclipse u otro IDE para compilar frascos, especifique cuál.
y' -source 1.5 ' –
tengo netbeans, pero solo puedo usar archivos de texto. ¿Cómo podría aplicar eso en todos los .java en un directorio? – Primm
Con netbeans, haga clic derecho en su proyecto, vaya a propiedades y cambie el "formato de origen/binario" del menú desplegable hacia la parte inferior del cuadro de diálogo que se abre – tofarr
Puede utilizar la versión más reciente de JDK y establecer el nivel de fuente en 1.5 - siempre que no utilice clases/métodos que se introdujeron después de 1.5 debería estar bien para todas las versiones de la JVM 1.5 y superior :
-fuente 1,5
A partir del JDK 9, JavaC apoyar una nueva opción para la compilación cruzada
javac -release N ...
lo que equivale a
javac -source N -target N –bootclasspath rtN.jar
Puede especificar la versión de destino del compilador más baja que la construcción Java versión (todas las respuestas básicamente dicen eso) pero no debería: es bastante complicado ya que solo funciona si también proporciona las bibliotecas de clase para la versión de destino real. Si lo haces, estás mucho mejor simplemente con el uso de esta versión antigua de Java para compilar. Mucho más limpio y menos cosas para configurar. Para Java 9, las opciones son un poco más agradables, pero aún necesita un JDK antiguo para el rt.jar.
Lo que puede hacer es en su ciclo ide y dedvelopment utilizar el truco -target
/-bootclasspath
para obtener un compilador más rápido y mejores advertencias, pero las versiones de TI y de lanzamiento deben hacerse con la versión de destino.
- 1. Compatibilidad con versiones anteriores de Java 6 Source y SQL
- 2. ¿Las API de Java Servlet son compatibles con versiones anteriores?
- 3. Versiones de clase para admitir la compatibilidad con versiones anteriores
- 4. Deserialización compatibilidad con versiones anteriores
- 5. ¿Cómo compilo el soporte Readline en Ruby
- 6. Java regex para soporte Unicode?
- 7. ¿Qué tan bueno es el soporte de jQuery para compatibilidad con versiones anteriores?
- 8. ¿Debería Java romper la compatibilidad con versiones anteriores en beneficio de un lenguaje más limpio?
- 9. ¿Java 7 SE tiene soporte para EJB?
- 10. ¿Cómo compilo un archivo java que tiene dependencias jar?
- 11. Motivo para usar versiones anteriores de jQuery?
- 12. Navegador sin cabeza con soporte javascript completo para java
- 13. Usando `@ unittest.skipIf` con versiones anteriores de Python
- 14. ¿El soporte eliminado para Windows XP en VS11 es comparable a versiones anteriores de Visual Studio?
- 15. ISerializable y compatibilidad con versiones anteriores
- 16. Haciendo servicios WCF compatibles con versiones anteriores
- 17. Compatibilidad con versiones anteriores y servicios web
- 18. Mejores prácticas para la compatibilidad con versiones anteriores de API
- 19. Cómo eliminar versiones anteriores de Xcode
- 20. Capistrano: limpiar versiones anteriores
- 21. Es nuevo C++ compatible con versiones anteriores
- 22. Servidor web Java mínimo con soporte JSP
- 23. MS Office PIAs "compatibilidad con versiones anteriores"
- 24. .lib y .dll Compatibilidad con versiones anteriores
- 25. Detectar versiones anteriores de IE
- 26. Soporte de Rijndael en Java
- 27. Añadir soporte para Java a Eclipse
- 28. Soporte predeterminado para xinclude en Java 6?
- 29. ¿Notación de soporte de Java?
- 30. Estrategias para Honeycomb y compatibilidad con versiones anteriores
Eche un vistazo a http://www.veryant.com/support/phpkb/question.php?ID=57 – Mualig
'javac -source 1.5 -target 1.5 OverridingInternalExample.java' trabajado para mí –