![使用 ant 安装 netbeans 10 时出现编译器错误](https://linux22.com/image/1585243/%E4%BD%BF%E7%94%A8%20ant%20%E5%AE%89%E8%A3%85%20netbeans%2010%20%E6%97%B6%E5%87%BA%E7%8E%B0%E7%BC%96%E8%AF%91%E5%99%A8%E9%94%99%E8%AF%AF.png)
我尝试了不同的 JDK 和它们的版本,但仍然出现此错误。
Linux Mint Tessa 19.1 x64
选择路径优先级状态 ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自动模式 * 1 /opt/java/jdk1.8.0_201/bin/java 100 手动模式 2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手动模式
C:\Netbeans10>ant 构建文件:C:\Netbeans10\build.xml -jdk-预初始化: -jdk-preinit: -jdk-警告: -jdk-presetdef-基本: -jdk-默认值: -jdk-初始化: -加载构建属性: 引导: [echo] 引导 NetBeans 特定的 Ant 扩展…… 初始化任务: 检查香草javac: 准备香草-javac: [删除] 删除目录 C:\Netbeans10\nbbuild\build\langtools [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools [解压] 扩展:C:\Netbeans10\nbbuild\external\langtools-9.zip 到 C:\Netbeans10\nbbuild\build\langtools [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 -def 检查: 检查langtools.jdk.home: 准备构建: [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\modules [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\toolclasses [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\gensrc [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\bin [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\prevsrc -def-pparse(解析): [复制] 将 1 个文件复制到 C:\Netbeans10\nbbuild\build\langtools\build\toolclasses\propertiesparser [javac] 将 2 个源文件编译到 C:\Netbeans10\nbbuild\build\langtools\build\toolclasses -def-p编译: [javac] 将 2 个源文件编译到 C:\Netbeans10\nbbuild\build\langtools\build\toolclasses 生成源: [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 生成内部源: [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 生成内部源: [pparse] 生成 1 个资源文件到 C:\Netbeans10\nbbuild\build\langtools\build\gensrc\jdk.compiler [pcompile] 生成 15 个资源文件到 C:\Netbeans10\nbbuild\build\langtools\build\gensrc\jdk.compiler [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 生成内部源: [pcompile] 生成18个资源文件到C:\Netbeans10\nbbuild\build\langtools\build\gensrc\jdk.javadoc [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 生成内部源: [pcompile] 生成 10 个资源文件到 C:\Netbeans10\nbbuild\build\langtools\build\gensrc\jdk.jdeps [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 [pathconvert] 警告:Nashorn 引擎计划从未来的 JDK 版本中删除 生成内部源: [pcompile] 生成 6 个资源文件到 C:\Netbeans10\nbbuild\build\langtools\build\gensrc\jdk.jshell [mkdir] 创建目录:C:\Netbeans10\nbbuild\build\langtools\build\nb [javac] 将 1031 个源文件编译到 C:\Netbeans10\nbbuild\build\langtools\build\nb [javac] C:\Netbeans10\nbbuild\build\langtools\src\java.compiler\share\classes\javax\annotation\processing\Messager.java:28:错误:包 javax.annotation 不存在 [javac] 导入 javax.annotation.*; [javac] ^ [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.compiler\share\classes\com\sun\tools\javac\model\AnnotationProxyMaker.java:35:错误:包 sun.reflect.annotation 不可见 [javac] 导入 sun.reflect.annotation.*; [javac] ^ [javac](包 sun.reflect.annotation 在模块 java.base 中声明,但未将其导出到模块 java.compiler) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\com\sun\tools\doclets\internal\toolkit\builders\LayoutParser.java:31:错误:包 javax.xml.parsers 不可见 [javac] 导入 javax.xml.parsers.*; [javac] ^ [javac](包 javax.xml.parsers 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\com\sun\tools\doclets\internal\toolkit\builders\LayoutParser.java:33:错误:包 org.xml.sax 不可见 [javac] 导入 org.xml.sax.*; [javac] ^ [javac](包 org.xml.sax 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\com\sun\tools\doclets\internal\toolkit\builders\LayoutParser.java:34:错误:包 org.xml.sax.helpers 不可见 [javac] 导入 org.xml.sax.helpers.DefaultHandler; [javac] ^ [javac](包 org.xml.sax.helpers 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\jdk\javadoc\internal\doclets\toolkit\builders\LayoutParser.java:31:错误:包 javax.xml.parsers 不可见 [javac] 导入 javax.xml.parsers.*; [javac] ^ [javac](包 javax.xml.parsers 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\jdk\javadoc\internal\doclets\toolkit\builders\LayoutParser.java:36: 错误:包 org.xml.sax 不可见 [javac] 导入 org.xml.sax.*; [javac] ^ [javac](包 org.xml.sax 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\jdk\javadoc\internal\doclets\toolkit\builders\LayoutParser.java:37: 错误:包 org.xml.sax.helpers 不可见 [javac] 导入 org.xml.sax.helpers.DefaultHandler; [javac] ^ [javac](包 org.xml.sax.helpers 在模块 java.xml 中声明,但模块 java.compiler 未读取它) [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\com\sun\tools\doclets\internal\toolkit\builders\LayoutParser.java:105:错误:方法未覆盖或实现超类型的方法 [javac] @Override [javac] ^ [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\com\sun\tools\doclets\internal\toolkit\builders\LayoutParser.java:122:错误:方法未覆盖或实现超类型的方法 [javac] @Override [javac] ^ [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\jdk\javadoc\internal\doclets\toolkit\builders\LayoutParser.java:110:错误:方法未覆盖或实现超类型的方法 [javac] @Override [javac] ^ [javac] C:\Netbeans10\nbbuild\build\langtools\src\jdk.javadoc\share\classes\jdk\javadoc\internal\doclets\toolkit\builders\LayoutParser.java:126:错误:方法未覆盖或实现超类型的方法 [javac] @Override [javac] ^ [javac] 12 个错误 构建失败 C:\Netbeans10\nbbuild\build.xml:151:编译失败;有关详细信息,请参阅编译器错误输出。 总时长:1分49秒
答案1
确保您的 JAVA_HOME 环境变量指向 JDK 8 版本。就我的情况 (debian 9) 而言:JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
当我尝试将 ant 与较新的 JDK(9)一起使用时遇到了这个问题。