【问题标题】:Grails fails to resolve dependencyGrails 无法解决依赖关系
【发布时间】:2019-01-26 02:11:42
【问题描述】:

我无法弄清楚为什么 grails 无法解决依赖关系。

我跑的时候

grails war --stacktrace --verbose

我可以在日志中看到:

...

Server access Error: Connection timed out: connect url=https://repo.grails.org/grails/plugins/org/grails/plugins/tomcat/8.0.33/tomcat-8.0.33.pom

...

但可以在浏览器中打开和下载链接。我认为代理可能会导致它。但是在我设置它之后:

grails add-proxy client --host=<ip> --port=<port>

错误仍然存​​在。

我正在使用

Grails 2.5.6

Java 1.8

Windows 10

我无法弄清楚依赖解析机制在 Grails 中是如何工作的。 我还尝试在解压缩下载的 zip-archive 后立即运行 Grails 3.3.9。我不是从 Grails 项目文件夹中运行 grails。

我首先看到的是:

| Error Error occurred running Grails CLI: Could not find artifact org.grails:grails-bom:pom:3.3.9 in nexus (http://<ip>:<port>/nexus/content/groups/public) (Use --stacktrace to see the full trace)

它是怎么知道的

http://<ip>:<port>/nexus/content/groups/public

这是来自我的 Maven 的设置。它们有什么关系?

【问题讨论】:

    标签: java grails


    【解决方案1】:

    运行grails add-proxy client ... 后,您需要告诉Grails 将该代理与grails set-proxy client 一起使用。

    如果你想查看它,代理配置存储在 %USERPROFILE%\.grails\ProxySettings.groovy

    add-proxy 应添加代理定义,set-proxy 应设置唯一行 currentProxy='client'

    Grails 3 使用 Gradle 作为构建系统,所以我猜你将 Gradle 配置为使用 %USERPROFILE%\.gradle\settings.gradle 中的 Maven 存储库

    【讨论】:

    • 我什么也没做。我刚刚使用 grails 3.3.9 解压了存档并在不包含任何 grails 应用程序的文件夹中运行命令。
    • grails 2 代理和 gradle 的配置不保存在文件夹或应用程序的范围内,而是在您的用户主文件夹中为您的用户全局保存。
    • 当我写评论时,我的意思是“我猜你配置 Gradle 以使用 Maven”。我无法配置它,因为我在提取后立即运行 grails。我也没有 .gradle 文件夹
    • 我明白,对不起。我专注于你的观点,即 grails 从你的 maven 中选择了一个配置。我不确定您是指 maven 项目配置还是 gradle 的 maven 存储库配置。在您提取 grails zip 之前很久就可以进行该设置,例如你骑。至少 set-proxy 有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2014-05-07
    • 1970-01-01
    • 2016-02-16
    • 2017-02-20
    相关资源
    最近更新 更多