标签: grails-maven

如何让Grails从Maven存储库获取最新的本地罐子?

  1. 在我的Maven回购(.m2)中.有一个像sub_app-0.1.jar这样的本地jar.
  2. 我在ivy-cache中有相同的副本.
  3. 我运行maven installsub_app然后创建新的sub_app-0.1.jar文件.
  4. 之后,我跑了grails clean,它没有从.m2获得我的新sub_app-0.1.jar.
  5. 但是,如果我从ivy-cache中删除(删除)sub_app-0.1.jar文件并运行grails clean它,那么它会将新的sub_app-0.1.jar文件添加到ivy-cache中.

  6. 如果我更改子应用程序pom和grails pom中的版本,Grails将采用最新版本.再安装它没有服用.

  7. 我尝试将SNAPSHOT添加到sup-app jar甚至.同样的结果,第一次采取,之后没有.

即.Grails只考虑常春藤缓存中的jar名称和版本,如果有 - 它不需要.如果没有 - 它取自.m2.

但它不考虑新旧构建.

如何在步骤4中获得相同的行为(步骤5)?

grails grails-plugin grails-maven grails-2.0

5
推荐指数
1
解决办法
4782
查看次数

Grails和本地Maven依赖

我正在Grails中开发一个小型Web前端.它基本上是一个"超轻量级"客户端应用程序,通过JMS连接异步.

我在项目中有两个依赖项,我想从Maven存储库中提取.它们是activemqacme-adapter-api内部依赖关系,在远程存储库中不可用.

我设置了这样的BuildConfig.groovy(Grails 1.2M4)文件,以便访问我的依赖项:

repositories {
    grailsPlugins()
    grailsHome()
    mavenCentral()
    mavenRepo('D:/maven-repo')
} dependencies {
    compile 'org.apache.activemq:apache-activemq:4.1.1'
    compile 'com.acme:acme-adapter-api:1.3-SNAPSHOT'
}
Run Code Online (Sandbox Code Playgroud)

当我跑步时grails dependency-report,我可以看到这条线acme-adapter-api,例如:

acme-adapter-api by com.acme  
108 kB (0 kB downloaded, 108 kB in cache)
Run Code Online (Sandbox Code Playgroud)

当我试图跑步时grails compile,我不幸运,因为它然后抱怨它无法解决com.acme小组中的课程.

有趣的是,activemq依赖性似乎不是一个问题......

不同之处在于acme依赖关系不在mavenCentral(),但仅在mavenRepo("D:/maven-repo").所以我想:"也许它不会从本地磁盘中提取它然后......"并将版本更改为一些有趣的(1.999-SNAPSHOT)值,该值在BuildConfig.groovy文件中不存在.grails compile再次运行时,命令超时,说无法找到该版本:

UNRESOLVED DEPENDENCIES
D:/maven-repo: unable to get resource for com/acme#acme-adapter-api;1.999-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

所以显然本地依赖关系得到了解决,但不知何故不适用于下一步,编译......

grails dependencies compilation build grails-maven

3
推荐指数
1
解决办法
1万
查看次数