对于gradle (1.11)和javadoc任务,我有一个非常奇怪的bug。我的build.gradle中有一些链接,如:
javadoc.options.links("http://docs.oracle.com/javase/7/docs/api");我现在使用Java 8(从Oracle下载的JDK),下面是javadoc任务的输出:
fge@alustriel:~/src/perso/largetext$ java -version; ./gradlew clean javadoc
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
:clean
:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
1 warning
:processResources
:classes
:javadoc
javadoc: warning - Error fetching URL: http://docs.oracle.com/javase/7/docs/api
javadoc: warning - Error fetching URL: http://jsr-305.googlecode.com/svn/trunk/javadoc
javadoc: warning - Error fetching URL: http://docs.guava-libraries.googlecode.com/git-history/v16.0.1/javadoc
3 warnings
BUILD SUCCESSFUL
Total time: 7.726 secs实际上,当我查看javadoc时,所有外部链接都不存在;但是,如果我使用Java 7运行:
fge@alustriel:~/src/perso/largetext$ (export JAVA_HOME=/opt/sunjdk/1.7/current; export PATH=$JAVA_HOME/bin:$PATH; java -version; ./gradlew clean javadoc)
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
:clean
:compileJava
:processResources
:classes
:javadoc
BUILD SUCCESSFUL
Total time: 7.635 secs那么一切都正常。
现在,我还尝试并修改了javadoc链接如下:
// Note the appended "/package-list"
javadoc.options.links("http://docs.oracle.com/javase/7/docs/api/package-list");使用Java 8,它不会发出警告,它会生成链接.但是链接断了!例如,我得到:
http://docs.oracle.com/javase/7/docs/api/package-list/java/lang/NullPointerException.html?is-external=true(请注意package-list/)作为链接,而不是:
http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html?is-external=true导致这种情况的Java 8中发生了什么变化?有解决办法吗?
发布于 2014-03-31 10:23:48
尝试使用http://docs.oracle.com/javase/7/docs/api/而不是http://docs.oracle.com/javase/7/docs/api。
很明显尾随的斜线是必要的。
https://stackoverflow.com/questions/22756850
复制相似问题