使用本地平面文件存储库而不是远程maven存储库

时间:2012-01-13 08:33:40

标签: grails maven

我对maven没有经验,所以请原谅我这个问题是愚蠢的......

从另一个问题(How does Grails handle plugin dependencies),我了解到我可以通过maven存储库避免grails中的jar-hell。但我现在有要求......

  • 我不允许使用远程maven存储库
  • 我想用我的插件捆绑所需的罐子(但是低优先级)
  • 我想避免安装本地maven存储库

我已经使用了对本地文件夹的引用来进行插件解析。这很有效。

但是如何构建本地文件夹才能使用此选项:

repositories {
  flatDir name:'myRepo', dirs:'/path/to/repo'
}

我的意思是,我可以将jar文件放到这个文件夹中,但是如何引用这些jar文件呢?他们是否有像artifact_version.jar这样的命名架构?或者我是否必须为此本地存储库创建XML配置?

或者是使用本地maven repo small和maven的努力甚至已经通过grails在我的机器上了?

1 个答案:

答案 0 :(得分:3)

事实上Maven已经有了一个本地存储库(linux盒子上的〜/ .m2)。如果您无权访问外部仓库,则只需使用此命令在本地仓库中安装罐子

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

是'jar'(没有引号),如果它是第三方库,则确定group-id和artifact-id(如果你不知道特定的库,请在mvnrepository.com上搜索)或者你把你的小组和神器ids放在那里

编辑:事实上,存储库下的命名方案是针对来自jexample.com的库示例版本1.2通常是com/jexample/example/1.2/example-1.2.jar(groupId:com.jexample,artifactId:example,version:1.0)