gpt4 book ai didi

grails - 如何使用企业 Ivy 实例进行 Grails 依赖管理来解决内部工件

转载 作者:行者123 更新时间:2023-12-02 14:08:22 24 4
gpt4 key购买 nike

全部,

我有一个直接开箱即用的 Grails 项目,没有任何自定义。我有一个简单的页面、简单的 Controller 、简单的服务;没问题。

问题:
我想通过它的 API 与我们自己的软件平台进行交互。为此,我需要引用我们的内部 jar 工件。我们有自己的 Ivy 存储库,用于管理内部/外部依赖项。我无法将 BuildConfig.groovy 配置为指向内部存储库。这是我根据 these instructions 尝试的

/*
* Configure our resolver.
*/
def libResolver = new org.apache.ivy.plugins.resolver.URLResolver()
['libraries', 'builds'].each {
libResolver.addArtifactPattern(
"http://my.repository/${it}/" +
"[organisation]/[module]/[revision]/[type]s/[artifact].[ext]")

libResolver.addIvyPattern(
"http://my.repository/${it}/" +
"[organisation]/[module]/[revision]/[type]s/[artifact].[ext]")
}

libResolver.name = "my-repository"
libResolver.settings = ivySettings

resolver libResolver

这无法指向违规行
resolver libResolver

研究我发现只有几篇关于这个的文章,删除了有问题的行,得到了更多的错误。删除了更多违规行,没有错误,但在“依赖项”部分中指定我的依赖项根本没有解决它们。

问题:

有没有人成功地用他们的内部 ivy repo 配置了一个 grails 项目来进行依赖管理?

最佳答案

这里是。

  grails.project.dependency.resolution = {
...

repositories {
inherits true // Whether to inherit repository definitions from plugins
resolver XXXLibResolver(dependencyManager)
grailsPlugins()
...
}

....

def DependencyResolver XXXLibResolver(IvyDependencyManager dependencyManager) {
DefaultRepositoryCacheManager nocache = new DefaultRepositoryCacheManager();
nocache.setUseOrigin(true);
nocache.name = "nocache";

dependencyManager.ivySettings.addRepositoryCacheManager(nocache);

def XXXHome = System.getenv("XXX_HOME")
if (XXXHome) {
XXXHome = new File(XXXHome).absolutePath
def fileSystemResolver = new FileSystemResolver()
fileSystemResolver.cache = nocache.name
fileSystemResolver.local = true
fileSystemResolver.name = 'XXX-lib-repo'
fileSystemResolver.addIvyPattern("${XXXHome}/libraries/[organisation]/[module]/ivys/ivy-[revision].xml")
fileSystemResolver.addArtifactPattern("${XXXHome}/libraries/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]")
fileSystemResolver.settings = dependencyManager.ivySettings
return fileSystemResolver
}
}

关于grails - 如何使用企业 Ivy 实例进行 Grails 依赖管理来解决内部工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com