7

我正在开发一个 Grails 2.0.x 应用程序,它当然有几个外部依赖项。由于我坐在公司防火墙后面,因此我已将其配置ProxySettings.groovy为允许访问互联网,这应该可以正常工作。

现在我们还需要包含对一些本地工件(来自其他项目)的依赖项,这些工件可以在我们的本地 Maven 存储库中找到。我们的公司网络设置仅将代理用于外部站点,而不是内部站点。因此,当 Grails 在启动时解决我的依赖项时,它会很好地下载所有外部工件,但在尝试获取我们的本地依赖项时会失败。如果我完全删除了我的ProxySettings.groovy-file 的内容,那么情况正好相反,Grails 无法解析外部依赖项,但确实设法从我们的本地 Maven 存储库下载 JAR。

我试图找到有关如何从使用 Grails 中的代理设置中排除内部站点的文档,但到目前为止都失败了。

另一种选择可能是在BuildConfig.groovy调用之前以编程方式删除(或更改)代理设置mavenRepo

目前我们没有使用 Maven 来构建我们的 Grails 项目(因为我们之前在构建服务器上创建发布版本时遇到了一些问题)。

任何帮助将非常感激!

4

1 回答 1

2

现在我不认为有一个简单的方法来解决这个问题。

目前有一个开放的错误,能够以编程方式切换代理设置

http://jira.grails.org/browse/GRAILS-7658

另一种选择是在您的 grails 项目中移动内部依赖项。

或者你可以在 BuildConfig.groovy 中转储所有内容

System.properties.putAll([
   "http.proxyHost": "myproxy.hostname.com",
   "http.proxyPort": "8080",
   "http.proxyUserName": "myUser",
   "http.proxyPassword": "myPass"
])

清除它的内部依赖关系,然后你可能会很好。

于 2012-05-01T14:16:16.743 回答