我的Grails 3项目的build.gradle中包含以下内容。
dependencies {
...
compile "org.grails.plugins:spring-security-core:3.0.3"
// The following line was the true cause of my problem
compile("org.grails.plugins:spring-security-oauth-google:0.3.1")
...
}
现在,当我运行Gradle时,出现以下错误:
Error Error initializing classpath: Could not find spring-security-core.zip (org.grails.plugins:spring-security-core:3.0.3).
Searched in the following locations:
https://repo.grails.org/grails/core/org/grails/plugins/spring-security-core/3.0.3/spring-security-core-3.0.3.zip (Use --stacktrace to see the full trace)
如果我转到指定的path,则可以看到该插件,但正如报告的那样,没有zip文件。
我在这里做错了什么?
最佳答案
我发现此问题的根源与预期的地方略有不同。
我正在将Grails 2.5项目升级到Grails 3,但我的工作方向错误。我需要包含spring-security-oauth-google
,当它无法按预期工作时,我还包含了spring-security-core
,这随后使我出轨。
导致此问题的原因是从我在自己的项目中拥有的依赖项加载了依赖项。为了避免加载这些依赖项(称为传递性依赖项),必须执行以下操作:
plugins {
compile "org.grails.plugins:spring-security-core:3.0.3"
compile("org.grails.plugins:spring-security-oauth-google:0.3.1") {
exclude group: 'org.grails.plugins', module: 'spring-security-core'
}
}
这将正确加载
spring-security-core 3.0.3
,而忽略spring-security-oauth-google
的依赖性。
关于grails - Gradle找不到插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34894847/