Rozważałem, czy projekt java może wytworzyć 2 słoiki: jeden dla java7 i jeden dla java6, tak, kod źródłowy może korzystać z niektórych nowych funkcji java7.Czy możemy użyć javaca jdk7 do kompilacji kodu z funkcjami java7 do jav6 bytecode
tak aby wygenerować słoik java6, linia poleceń byłoby jak:
javac -target 1.6 -bootclasspath jdk1.6.0\lib\rt.jar -extdirs "" MyApp.java
Niestety To po prostu emituje błąd:
javac: target release 1.6 conflicts with default source release 1.7
Według this document powinno być możliwe jdk6 vs jdk5, ktoś wie, dlaczego to nie działa w jdk7 vs jdk6? czy zrobiłem coś złego, czy jest to oficjalnie nieobsługiwane?
Dzięki.
[Tutaj znajduje się dokumentacja kompilacji dla Java 7.] (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#crosscomp-example) 'OldCode. java' powinien zostać zapisany na docelowym poziomie źródłowym. Składnia IIRC, Java 5 i Java 6 są takie same. – McDowell
@McDowell oznacza, że kod źródłowy nie powinien zawierać żadnych nowych funkcji java7, prawda? –
Prawidłowo. Jeśli szukasz docelowej wersji Java 6 z kodem Java 7, prawdopodobnie będziesz potrzebować specjalistycznego narzędzia innej firmy. – McDowell