如何在grails中引用外部用maven管理的jar

 我来答
若以下回答无法解决问题,邀请你更新回答
就烦条0o
2016-09-07 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
对于外部的jar,在grails中可以直接把外部的jar复制到本项目的lib目录下就可以被引用到了,但如果外部的jar文件如果又引用了其它的jar文件,这时就需要把这个jar引用的其它jar文件都要一并复制过来才能使用。
为了管理这些jar文件及其依赖管理,在java世界里使用了maven进行管理,因此,一般通用的类库都使用了maven进行管理。为了能够把外部的
jar文件引入进grails中,只要在BuildConfig.groovy文件中打开maven仓库并加上需要的依赖。

比如:

repositories {

grailsPlugins()

grailsHome()

grailsCentral()

// uncomment the below to enable remote
dependency resolution

// from public Maven repositories

mavenLocal()

mavenCentral()

//mavenRepo
"http://snapshots.repository.codehaus.org"

//mavenRepo
"http://repository.codehaus.org"

//mavenRepo
"http://download.java.net/maven/2/"

//mavenRepo
"http://repository.jboss.com/maven2/"

}

dependencies {

// specify dependencies here under either
'build', 'compile', 'runtime', 'test' or 'provided' scopes
eg.

// runtime
'mysql:mysql-connector-java:5.1.13'

compile
'com.datastore:datastore-api:1.0'

}

在修改了这个文件之后,当打包时自动会把这些依赖打进去,但如果是用eclipse(sts)进行开发,如何让eclipse知道这些依赖关系呢?只要使用Alt+G,R快捷键(Refresh
dependencies)就能让eclipse对依赖进行刷新,这样在IDE环境下也能加载进依赖关系了。在idea环境中可以使用Grails中的Synchronize
Grails settings,如果想要同步源代码,则可以使用refresh-dependencies
--include-source

对于自己经常要修改的maven中的库,可以直接删除其中的ivycache中的文件进行更新,比如:

rm -fr "C:Documents and
SettingsAdministrator.grailsivy-cachecom.datastore"

在更新时会发现速度会很慢,其实是grails会访问repo.grails.org域名的代码库,可以建立一个本地代码库,然后把此域名映射到本地代码库上。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式