1

我正在尝试从 Grails 3.1.5 升级到 3.2.2。

当我运行时,grails --debug --stacktrace run-app我得到以下输出:

$ grails --debug --stacktrace run-app
|Resolving Dependencies. Please wait...

CONFIGURE SUCCESSFUL

Total time: 5.028 secs
Error |
Could not resolve all dependencies for configuration ':profile'. Type 'gradle dependencies' for more information

我试着跑步gradle dependencies,但这似乎并没有告诉我什么是错的。

我还能做些什么来解决这个问题?

编辑:仔细观察后,我在gradle dependencies输出中注意到了这一点:

profile
\--- org.grails.profiles:web: -> 3.2.2 FAILED

这似乎是由于我的 build.gradle 中的行:

dependencies {
    profile "org.grails.profiles:web"

但是当我创建一个全新的 grails 3.2.2 应用程序时,这条线也在那里,但一切正常。

我还能检查什么?

编辑:profiles我将一个新的 Grails 3.2.2 应用程序与我的应用程序进行了比较,没有为依赖项指定任何版本。

对于两者,在gradle dependencies --debug我看到的日志中:

[io.spring.gradle.dependencymanagement.VersionConfiguringAction]
Using version '3.2.1' for dependency 'org.grails.profiles:web:'

新应用程序的下一行是:

[org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder]
Selecting new module version org.grails.profiles:web:3.2.1

但是使用我的应用程序:

[org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder]
Selecting new module version org.grails.profiles:web:3.2.2

那么为什么在我的应用程序中切换到 3.2.2 呢?

4

4 回答 4

0

作为一种解决方法,在我的 build.gradle 文件中,我在 web 配置文件依赖行的末尾添加了一个明确的版本号 3.2.1。这是 Grails 3.2.2 应该默认使用的版本。我仍然不确定为什么在未指定时它会引入版本 3.2.2。

profile "org.grails.profiles:web:3.2.1"
于 2016-11-12T00:07:09.833 回答
0

我知道自从线程处于活动状态以来已经有一段时间了,但我想我可以在这里发布我的解决方案,以帮助其他人解决这个问题。

我对 IntelliJ Idea 中的 Grails 3.3.3 也有同样的问题。

为了解决这个问题,我将配置文件更改为在 build.gradle 的依赖项列表中进行编译。这会导致下载 rest-api 的文件。然后我将编译改回配置文件,因为它应该是。

运行 gradle 依赖项为 rest-api 配置文件显示以下内容

profile

--- org.grails.profiles:rest-api: -> 3.3.2 --- org.grails.profiles:base:3.3.1

而不是我之前得到的失败

于 2018-03-19T22:10:35.297 回答
0

如果你的项目使用 java 7,你可以这样做: - 用 java 8 编译你的项目 - 然后用 java 7 运行你的项目

(这对我有用)

于 2019-02-13T10:38:58.410 回答
0

最近我遇到了这个问题,因为 repo.grails.org (Sectigo Limited) 使用的 CA 不在 Java cacerts 中。这导致无法下载 Web 配置文件 jar ( https://repo.grails.org/grails/core/org/grails/profiles/web/4.0.0/web-4.0.0.jar )。

解决方案是在 cacerts 中导入 Sentco root ca cert。我为我的项目使用了一个单独的 cacert,所以我导入了它,但是对于那些想要在 Java 级别导入的人,他们需要使用密码“changeit”导入到默认 cacert (${JAVA_HOME}/jre/lib/security/cacerts) .

于 2020-11-23T17:40:54.027 回答