settings.xml与pom.xml中的Maven本地存储库

我是Maven的新手.我想使用以下设置:

1)用于下载公共工件的远程存储库

2)下载工件的共享本地存储库,通过将以下内容添加到settings.xml可以很好地工作:

<localRepository>C:/m2repo</localRepository>

3)现在我还想要一个引用工件的存储库
来自一个项目,就像一个老式的“lib”文件夹.

所以我在项目的pom.xml中添加了以下内容:

<repository>
  <id>repo</id>
  <name>repo</name> 
  <releases>
    <enabled>true</enabled>
    <checksumPolicy>ignore</checksumPolicy>
  </releases>
  <url>${project.baseUri}repo</url>
</repository>

我已经将一些jar部署到了“repo”文件夹,但是当我在pom.xml中将它们作为依赖项添加时,它们都没有被解析. Maven只查看共享存储库和远程存储库.当我将“repo”的内容复制到共享的“m2repo”时,它可以工作.我错过了什么或者这个设置根本不可能吗?

尽管可能,但我个人并不认为这样做是一种好习惯.根据您的使用情况,这篇文章会有所帮助: http://blog.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea.您还需要一个可重复且可移植的项目,this question讨论了这个相关主题.为了便携起见,请不要将这些罐子放入您的VCS中!

如果你仍然坚持,我会尽力帮助你.要使模型起作用,“repo文件夹”必须遵循here定义的结构.

即使您的“repo文件夹”是本地文件结构,Maven仍会将其视为远程存储库,就像maven central一样.这意味着,无论何时构建项目,Maven都会尝试将jar文件从“repo文件夹”下载到.m2存储库:

Downloading: file:/j/my-project/my-local-repo/com/google/guava/guava/14.0.1/guava-14.0.1.pom
Downloaded: file:/j/my-project/my-local-repo/com/google/guava/guava/14.0.1/guava-14.0.1.pom (6 KB at 276.3 KB/sec)
Downloading: 07003
Downloaded: 07003 (2 KB at 10.4 KB/sec)

您可以看到guava jar将从“repo文件夹”下载到我的.m2存储库,因为它可以从我的“repo文件夹”下载.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念