在尝试解决SNAPSHOT maven依赖项遇到的问题时遇到了一些问题(参见此处).
运行时grails dependency-report,列出了缓存的依赖项,或多或少如下:
acme-adapter-api by com.acme
108 kB (0 kB downloaded, 108 kB in cache)
正如这个答案所暗示的那样,在更新依赖关系而不增加版本号时会遇到麻烦,导致缓存未被清空,并且SNAPSHOT依赖关系不会被重新获取,正如人们所期望的那样.
我到处都看了,也在%HOME%\.grails目录和床下;-)但找不到任何看起来像缓存的东西.
它在哪里,所以我可以手动删除它?或者甚至更好,我怎样才能grails compile有力地清理它?
谢谢!
拉乌尔
PS:我正在使用Grails 1.2M4
我正在尝试在Linux系统上的Grails项目中引用IntelliJ IDEA 9.0.2中的类.我将依赖项添加到BuildConfig.groovy:
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
runtime 'mysql:mysql-connector-java:5.1.5'
compile 'org.apache.poi:poi-ooxml:3.6'
}
Run Code Online (Sandbox Code Playgroud)
我org.apache.poi在我的~/.ivy2/cache目录中看到了,但在引用jar中的类时遇到编译错误.实际上,代码完成不会显示任何org.apache.poi类.所以看来IntelliJ不知道这些类.
我有什么想法我做错了吗?为什么IntelliJ没有看到这些类?
我正在Grails中开发一个小型Web前端.它基本上是一个"超轻量级"客户端应用程序,通过JMS连接异步.
我在项目中有两个依赖项,我想从Maven存储库中提取.它们是activemq和acme-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)
所以显然本地依赖关系得到了解决,但不知何故不适用于下一步,编译......