gradle使用dokka插件出现Exception while loading package-list from ExternalDocumentationLinkImp

这是一个月多前遇到的问题,现在特做记录:

build.gradle.kts里配置了dokka插件的时候出现这个异常,Exception while loading package-list from ExternalDocumentationLinkImp

dokka是gradle的一个插件,功能类似与javadoc.对于这个异常当时看了好多博客也都不行,最终找到dokka的github的一个问题单:

https://github.com/Kotlin/dokka/issues/213#

当时一看,哇,还是open状态,看了别人的回复,对于这个问题结论是这样:

1.这个异常首先是因为请求一个网址,比如android.com去拿一个package-list时请求失败.而dokka需要这个package-list;

首先分析请求失败的原因:

  1)你公司有一个外网访问限制(大部分问题来自于此)

  2)GFW之类的

总之都是网络问题;

2.所以解决方法正如问题单所说的:

  1)自己提供package-list 并做配置;比如这个开发者老哥说的:

Try again, or maybe you are behind the corporate proxy? Then you should manually download https://developer.android.com/reference/package-list, place it somewhere and use packageListUrl parameter to configure its location.

  之前在问题单#213和dokka的github主页都看过这样的设置,也就是设置packageListUrl,指定自己给的package-list...不过我没试过.因为当时我的build.gradle用的是dokkaTask,也没找到配置方法.

dokka {
    outputFormat = ‘html‘
    outputDirectory = "$buildDir/javadoc"

    externalDocumentationLink {
        // Root URL of the generated documentation to link with. The trailing slash is required!
        url = new URL("http://github.com/me/myrepo")

        // If package-list file located in non-standard location
        packageListUrl = new URL("file:///D:/package-list")
    }
}

  2)配置外网的代理Proxy:

  具体方法是:

  如果你的gradle的home都是默认的话,那在这个 .gradle目录下可以如此操作.

在本地C盘,用户/计算机名/.gradle 目录下创建一个 gradle.properties;
填上:
systemProp.http.proxyPort=eg.8080
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.**.com, 10.* 正则配置
systemProp.http.proxyHost=***.**.com 之类
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.**.com, 10.*
systemProp.https.proxyHost=**.**.com
这个文件的作用是在build前设置好系统变量,让gradle使用

 嗯,现在你应该能访问了,简单来说,就是让你连得上,能够请求,自然就成功了.

  3)特殊情况:公司特别奇葩,配置了proxy也无法登陆那个网站

  而且, 适用于现在只是想build,跳过doc生成也可以的情况.

  那就是添加 noStdlibLink = true .这个设置类似于让它忽略doc输出时的错误,从而编译顺利执行.以某开源软件的代码为例:

1 tasks.withType(DokkaTask::class.java) {
2         // suppresses undocumented classes but not dokka warnings
3         // https://github.com/Kotlin/dokka/issues/229 && https://github.com/Kotlin/dokka/issues/319
4         reportUndocumented = false
5         outputFormat = "javadoc"
6         outputDirectory = "$buildDir/javadoc"
7          noStdlibLink = true //添加
8     }

当时就是添加了这句就成功了.

不过这个异常遇到的人应该也不多,毕竟大部分人公司都有开放网络权限 : )

原文地址:https://www.cnblogs.com/zhhiyp/p/9484544.html

时间: 2024-10-20 01:03:08

gradle使用dokka插件出现Exception while loading package-list from ExternalDocumentationLinkImp的相关文章

Gradle自己定义插件

Gradle自己定义插件 在Gradle中创建自己定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle插件能够在IDEA中进行开发.也能够在Android Studio中进行开发,它们唯一的不同,就是IDEA提供了Gradle开发的插件,比較方便创建文件和文件夹,而Android Studio中,开发人员须要手动创建(但实际上.这些文件夹并不多,也不复杂,全然能够手动创建). 在项目中使用 在And

[ERROR] [1583298467.643559437]: Exception while loading planner 'ompl_interface/OMPLPlanner': According to the loaded

[ERROR] [1583298467.643559437]: Exception while loading planner 'ompl_interface/OMPLPlanner': According to the loaded plugin descriptions the class ompl_interface/OMPLPlanner with base class type planning_interface::PlannerManager doe s not exist. De

为Gradle添加tomcat插件,调试WEB应用

Gradle提供了不输于maven的依赖管理 提供了强大的test功能,输出优美的测试报告 并且提供war插件,使用内置的jetty调试WEB应用 因为博主偏偏钟情于tomcat,所以希望使用tomcat来调试WEB应用 下面我们来通过些许的代码,将tomcat插件配置到项目中 实现一键调试部署WEB应用 build.gradle文件: buildscript { repositories { jcenter() } dependencies { classpath "com.bmuschko:

翻译:Gradle之 Java插件

原文地址 http://www.gradle.org/docs/current/userguide/java_plugin.html 23.1. Usage用法 要使用Java插件,在脚本里加入: Example 23.1. Using the Java plugin build.gradle apply plugin: 'java' 23.2. Source sets源集 Java插件引入了一个概念:源集(source set),一个源集就是一组被一起编译一起执行的源文件.这些文件可能包括Ja

gradle build scan 插件使用

1. 添加插件 build.gradle plugins { id 'com.gradle.build-scan' version '1.10.2' } buildScan { // Uncomment the lines below to agree to the Terms of Service. licenseAgreementUrl = 'https://gradle.com/terms-of-service' licenseAgree = 'yes' tag 'SAMPLE' link

Sublime Text3 安装 markdownediting插件 报错 Error loading syntax file "Packages/Markdown/Markdown.tmLanguage":

问题: Error loading syntax file "Packages/Markdown/Markdown.sublime-syntax": 解决方法: ./Data/Local/ 清理掉 Session.sublime_session Auto Save Session.sublime_session 参考 github README.MD https://github.com/SublimeText-Markdown/MarkdownEditing/blob/master/

Gradle 1.12用户指南翻译——第四十五章. 应用程序插件

文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/usergu

Android插件的Gradle基础

1.Gradle简介 查看Gradle最新版本2.13 查看Gradle User Guide Gradle是一个基于Java(JVM)平台的构建体系(build system),它的一些特性: Gradle核心是基于Groovy的领域特定语言(Domain Specific Languages,DSL),具有良好的扩展性,所以不管是简单的独立项目还是大型的多项目构建它都能高效的提高构建任务,尤其对多项目支持是非常好:Gradle还提供了局部构建功能,譬如构建一个单独子项目时它会构建这个子项目依

安装gralde以及gradle插件

安装gralde 安装本地gradle 以上安装文件,详见安装文件.rar 安装jdk1.8 和 gradle2.6 点击相应安装文件中的setup文件,按步安装即可 Jdk和gradle需要配置环境变量: ???? Jdk 环境变量配置:计算机->属性-> 高级系统配置->环境变量 新建系统环境变量JAVA_HOME 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jre1.8.0_45(刚才安装的jdk的安装根目录) 配置path 在计算机->属