Проблема в ant построить недействительный целевой выпуск
проблема в ant build
[javac] Compiling 86 source files to F:\XXX\classes
[javac] javac: invalid target release: 1.6
[javac] Usage: javac <options> <source files>
[javac] where possible options include:
[javac] -g Generate all debugging info
[javac] -g:none Generate no debugging info
[javac] -g:{lines,vars,source} Generate only some debugging info
[javac] -nowarn Generate no warnings
[javac] -verbose Output messages about what the compiler is doing
[javac] -deprecation Output source locations where deprecated APIs are used
[javac] -classpath <path> Specify where to find user class files
[javac] -cp <path> Specify where to find user class files
[javac] -sourcepath <path> Specify where to find input source files
[javac] -bootclasspath <path> Override location of bootstrap class files
[javac] -extdirs <dirs> Override location of installed extensions
[javac] -endorseddirs <dirs> Override location of endorsed standards path
[javac] -d <directory> Specify where to place generated class files
[javac] -encoding <encoding> Specify character encoding used by source files
[javac] -source <release> Provide source compatibility with specified release
[javac] -target <release> Generate class files for specific VM version
[javac] -version Version information
[javac] -help Print a synopsis of standard options
[javac] -X Print a synopsis of nonstandard options
[javac] -J<flag> Pass <flag> directly to the runtime system
BUILD FAILED
ant источник и цель до 1.6
en переменный путь к jdk 1.6
Ответы
Ответ 1
Вы используете компилятор, который не может скомпилироваться с -target 1.6
(javac: недопустимая целевая версия: 1.6). Вы уверены, что используете JDK 1.6? Возможно, JDK 1.5 установлен и используется ant. Проверьте используемую Java-версию с добавлением следующей строки к вашей цели (в начале):
<echo message="Using Java version ${ant.java.version}."/>
Он выводит версию Java, используемую ant.
Вы можете настроить компилятор для использования другой версии Java. Вы должны использовать атрибут fork для использования внешнего javac и указать, какой из них вы хотите:
<javac srcdir="${src}"
destdir="${build}"
fork="yes"
executable="/opt/java/jdk1.6/bin/javac"
/>
Подробнее см. документацию javac-task.
Ответ 2
Возможно, нужно, чтобы конструктор ant соответствовал вашему jre.
В Windows->Preferences->Ant->Runtime->Classpath->Global Entries
добавьте <*your jre home*>/lib/tools.jar
и переместите его вверх.
Ответ 3
Кроме того, вы можете щелкнуть правой кнопкой мыши по проекту в своем представлении Ant и выбрать "Запуск от имени"... > Настройка внешних инструментов... На вкладке JRE выберите правильную JRE Runtime.
Ответ 4
Да, это старый, но наткнулся на работу и не смог найти решение, зарегистрированное где-нибудь еще...
Даже если я тоже натолкнулся на это с помощью Ant, он, по-видимому, не имеет ничего общего с Ant - там, похоже, были некоторые сломанные сборки JDK:
C:\>%JAVA_HOME%\bin\javac -version
javac 1.6.0_21
javac: no source files
Usage: javac <options> <source files>
...
C:\>%JAVA_HOME%\bin\javac -target 1.6
javac: invalid target release: 1.6
Usage: javac <options> <source files>
...
Где выглядит еще одна версия 1.6:
C:\>set JAVA_HOME=C:\Progra~1\Java\jdk1.6.0_45
C:\>%JAVA_HOME%\bin\javac -version
javac 1.6.0_45
C:\>%JAVA_HOME%\bin\javac -target 1.6
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
Итак, решение заключается в обновлении JDK.
Ответ 5
Щелкните правой кнопкой мыши файл ant build; Беги как; ant Build...; Вкладка JRE; и попробуйте установить отдельный JRE на тот, который вы хотите. Это сработало для меня, хотя у меня только один JRE установлен, Eclipse, казалось, помнит призрак старого.