【发布时间】:2014-08-24 00:43:31
【问题描述】:
我正在尝试在 Grails 2.4 项目中从使用 Ivy 迁移到使用 Aether 解析器。
我遇到的问题与将凭据外部化有关。与此相关的信息可以在此处的 Grails 手册中找到:http://grails.org/doc/latest/guide/conf.html#dependencyRepositories
似乎没有记录的方法可以将使用 Maven 的凭据外部化,就像使用 Ivy 一样。
使用 Ivy,我可以将这样的内容放入我的 .grails/settings.groovy 文件中:
grails.project.ivy.authentication = {
credentials {
realm = "My Repo"
host = "repo.mycustomrepo.com"
username = "user"
password = "password"
}
}
要使用 Aether,我不得不将凭据块直接放在我的 BuildConfig.groovy 中,如下所示:
repositories {
inherits true // Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
mavenLocal()
grailsCentral()
mavenCentral()
mavenRepo("http://repo.mycustomrepo.com") {
//Add authentication details to repository connection
auth([
username: 'user',
password: 'password'
])
}
}
不幸的是,这对我来说确实是个问题,因为在我的组织中,我们使用配置为使用我们的 LDAP 凭据的 Artifactory。这是一个问题,因为我不想在源代码管理中提交我的凭据。
是否有未记录的解决方案或 Grails 根本不支持它?
【问题讨论】:
-
您尝试过 Maven 设置吗? maven.apache.org/settings.html#Servers
-
我刚试过,但没有帮助。可能我没有正确设置。我在
${user.home}/.m2/settings.xml中创建了一个settings.xml 文件。我用<server><id>myRepo</id><username>myUsername</username><password>myPassword</password></server>添加了一个服务器部分,然后我添加到我的BuildConfig.groovymavenRepo(id:'myRepo', url: "https://myRepo.com")
标签: maven grails grails-2.0 aether