Многие версии JDK: Как мне указать, какая из них используется? - PullRequest
3 голосов
/ 16 августа 2011

Я установил много версий JDK: 1.4.2, 1.5 and 1.6.Как указать, какая версия JDK используется при компиляции с использованием Ant?

Ответы [ 3 ]

5 голосов
/ 16 августа 2011

Два решения:

  • Укажите полный путь в вашей команде: например, /opt/java/jdk16/bin/javac ... в Linux
  • Используйте аргументы -source и -target команды javac,Это позволяет вам указать уровень исходного кода и целевую версию JRE

Также обратите внимание:

  • Некоторые дистрибутивы Linux могут содержать инструменты для указания, какую версию JDK использовать по умолчанию.
  • Использование -source и -target проверяет, соответствуют ли ваши языковые конструкции целевой среде выполнения, но НЕ проверяет совместимость основных классов.Это означает, что компиляция с -source 1.4 на JDK 1.6 будет очень хорошей, даже если вы используете String.isEmpty(), появившийся в Java 6. Это может привести к ошибкам во время выполнения
1 голос
/ 16 августа 2011

Используйте атрибуты Ant <javac> task <source> и / или <target>. Допустимые значения могут быть от 1,1 до 1,7, с 5, 6 и 7 действительными псевдонимами для 1,5, 1,6 и 1,7. Кроме того, атрибут <executable> может использоваться для установки используемого компилятора java javac. Например:

<javac source="1.4" target="1.4" executable="c:\java1.6\bin\javac.exe"/>
1 голос
/ 16 августа 2011
javac -source 1.4 -target 1.4 YourFile.java

- исходный выпуск Определяет версию принятого исходного кода. Следующие Допустимые значения для выпуска: 1.3 компилятор не поддерживает утверждения, обобщения или другие языковые возможности, представленные после JDK 1.3. 1.4 компилятор принимает код, содержащий утверждения, которые были введено в JDK 1.4. 1.5 компилятор принимает код, содержащий дженерики и другие языковые возможности, представленные в JDK 5. По умолчанию компилятор поведение версии 5, если флаг -source не используется. 5 Синоним 1,5

Вот соответствующая документация.

http://download.oracle.com/javase/1,5.0/docs/tooldocs/windows/javac.html

...