如何在grails中引用外部用maven管理的jar
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
对于外部的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域名的代码库,可以建立一个本地代码库,然后把此域名映射到本地代码库上。
为了管理这些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域名的代码库,可以建立一个本地代码库,然后把此域名映射到本地代码库上。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询