我的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文件。
我在这里做错了什么?
答案 0 :(得分:2)
这个问题的根源我在一个与预期不同的地方找到了。
我正在努力将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
的依赖关系。