¿Cómo compilo un .java con soporte para versiones anteriores de Java?

Quiero comstackr mis .java (varios) en un .jar que sean compatibles con al menos Java 1.6 y versiones más nuevas, preferiblemente Java 1.5 y versiones más recientes de Java. (Tengo Java 1.7.0_5 )

Sí, puede establecer la versión del comstackdor en tiempo de comstackción. Y comstack tu código java en versiones antiguas de java.

Del artículo de Oracle: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html

Ejemplo de comstackción cruzada

Aquí usamos javac para comstackr 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.

A partir de JDK 9, javac admite una nueva opción para la comstackción cruzada

 javac --release N ... 

que es equivalente a

 javac -source N -target N –bootclasspath rtN.jar 

Puede usar javac -target 1.5 .

Si está utilizando un sistema de comstackción, Eclipse u otro IDE para comstackr flasks, especifique cuál.

Puede usar la versión más nueva de JDK y establecer el nivel de origen 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 JVM 1.5 y superiores:

-fuente 1.5

Puede especificar la versión de destino del comstackdor más baja que la versión Java de comstackción (todas las respuestas básicamente dicen eso) pero no debe: 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 comstackr. 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 en su ide y ciclo de desarrollo utiliza el truco -bootclasspath / -bootclasspath para obtener un comstackdor más rápido y mejores advertencias, pero las versiones de TI y de lanzamiento deben hacerse con la versión de destino.