我在jdk-8和jdk-12之间重新安装,构建过程显示不同的错误,但都失败了。两者都在日志中显示 bcel 包丢失作为第一个错误。
我已经在两个 jdk 中都设置了具有相应值的JAVA_HOME;
sh build.sh -Ddist.dir=~/tmp/ant dist 这是我从组织文档中获得的用于构建的代码。
正在加载包 org.apache.tools.tar... 正在加载包的源文件org.apache.tools.zip... 正在构建 Javadoc 信息.../home/uppdev/tmp/ant/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java:23:错误:package org.apache.bcel.classfile 不存在 import org.apache.bcel.classfile.ClassParser; ^/home/uppdev/tmp/ant/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java:24:错误:package org.apache.bcel.classfile 不存在 import org.apache.bcel.classfile.ConstantValue;
: : :
为所有包和类构建索引... 为所有类构建索引... 正在生成/home/uppdev/tmp/ant/build/javadocs/help-doc.html... 注意:可能会覆盖未来标准标签的自定义标签:@todo。为避免潜在的覆盖,请在自定义标签名称中至少使用一个句点字符 (.)。 26 错误 100 个警告
构建失败/home/uppdev/tmp/ant/build.xml:1012:执行此行时发生以下错误:/home/uppdev/tmp/ant/build.xml:1520:Javadoc 返回 1
总时间:20秒
如果这是针对 ant 1.10.2 的,那么我可以提供信息:
JDK8 返回一个错误,用于 javadocs 中缺少引用(参见 https://bugs.openjdk.java.net/browse/JDK-8224266),可以通过将-Xdoclint:none
传递给javadoc
来
使其无效。ant 1.10.2 删除了此标志以及配置参数withDoclint
,如果未找到可选依赖项,则会导致构建失败。
解决方法是在生成之前.xml将additionalparam="-Xdoclint:none"
添加到生成<target name="javadocs"
中的<javadoc ...>
标记。
修复了 1.10.2 的部分内容:
<target name="javadocs" depends="check-javadoc"
description="--> creates the API documentation" unless="javadoc.notrequired">
<mkdir dir="${build.javadocs}"/>
<javadoc additionalparam="-Xdoclint:none"
useexternalfile="yes"
destdir="${build.javadocs}"
failonerror="true"
author="true"
version="true"
locale="en"
windowtitle="${Name} API"
doctitle="${Name}"
maxmemory="1000M"
verbose="${javadoc.verbose}">