Stavo considerando se un progetto Java poteva produrre 2 jars: uno per java7 e uno per java6, sì, il codice sorgente potrebbe usare alcune nuove funzionalità java7.Possiamo usare jdk7 javac per compilare il codice con le caratteristiche java7 bytecode java6
modo per generare il vaso java6, la riga di comando sarebbe come:
javac -target 1.6 -bootclasspath jdk1.6.0\lib\rt.jar -extdirs "" MyApp.java
Sfortunatamente, emette semplicemente un errore:
javac: target release 1.6 conflicts with default source release 1.7
Secondo this document, dovrebbe essere possibile per jdk6 vs jdk5, qualcuno sa perché non funziona in jdk7 vs jdk6? ho fatto qualcosa di sbagliato, o è solo ufficialmente non supportato?
Grazie.
[Questa è la documentazione cross-compilation per Java 7.] (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#crosscomp-example) 'OldCode. si prevede che java' venga scritto sul livello sorgente di destinazione. La sintassi IIRC, Java 5 e Java 6 sono le stesse. – McDowell
@McDowell che significa che il codice sorgente non dovrebbe contenere nessuna nuova funzionalità java7, giusto? –
corretto. Se stai cercando di scegliere come target Java 6 con il codice Java 7, probabilmente dovrai consultare uno strumento di terze parti specializzato. – McDowell