无法在 Intellij 中为 Gradle 导入 ShadowJar 插件
Posted
技术标签:
【中文标题】无法在 Intellij 中为 Gradle 导入 ShadowJar 插件【英文标题】:Unable to import ShadowJar plugin for Gradle in Intellij 【发布时间】:2019-05-01 22:22:40 【问题描述】:我正在尝试设置 shadow jar 插件以在我的 Gradle 项目中使用。按照说明,我是这样导入的:
plugins
id 'com.github.johnrengelman.shadow' version '4.0.2'
但是,当构建开始时,我收到以下错误:
Plugin [id: 'com.github.johnrengelman.shadow', version: '4.0.2'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:4.0.2')
Searched in the following repositories:
Gradle Central Plugin Repository
在配置构建中调查堆栈跟踪时,我还发现:
org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://plugins.gradle.org/m2/com/github/johnrengelman/shadow/com.github.johnrengelman.shadow.gradle.plugin/4.0.2/com.github.johnrengelman.shadow.gradle.plugin-4.0.2.pom'.
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to plugins.gradle.org:443 [plugins.gradle.org/104.16.175.166, plugins.gradle.org/104.16.173.166, plugins.gradle.org/104.16.172.166, plugins.gradle.org/104.16.171.166, plugins.gradle.org/104.16.174.166] failed: Connection timed out: connect
基于此,我假设我的机器和插件存储库之间存在问题。我在公司代理背后工作,所以我想知道是否有任何解决方法?
编辑:这是我的存储库声明代码的结构。出于安全考虑,我宁愿不分享实际网址:
repositories
maven url 'corporate.repo.url.here:port'
经过仔细检查,存储库似乎是正确的,因此应该将插件下载到我的本地 Maven 存储库。事实并非如此,我认为这是由于我迁移到 Gradle 所致。 Gradle 中是否有任何设置可以处理这个问题?
【问题讨论】:
你的repositories
声明是什么样的?
我刚刚编辑了问题以包含它。我不能输入实际使用的 URL,但结构是一样的。
【参考方案1】:
我想通了。在settings.gradle中,我需要在pluginManagement中设置repositories来覆盖gradle的默认行为。
pluginManagement
repositories
maven
url 'corporate.repo.url.here'
默认情况下,gradle想去plugins.gradle.org
;但是,我怀疑我正在使用的代理阻止了这种情况。因此,我需要上面的代码将其指向网络存储库。
【讨论】:
为我工作 - 非常感谢您指出这一点:)!以上是关于无法在 Intellij 中为 Gradle 导入 ShadowJar 插件的主要内容,如果未能解决你的问题,请参考以下文章
导入eclipse gradle spring boot项目后,Lombok无法在intellij idea 18.1版本中工作
如何在intelliJ IDEA中为我现有的Kotlin项目生成build.gradle文件