我是Maven的新手.我想使用以下设置:
1)用于下载公共工件的远程存储库
2)下载工件的共享本地存储库,通过将以下内容添加到settings.xml可以很好地工作:
<localRepository>C:/m2repo</localRepository>
3)现在我还想要一个引用工件的存储库
来自一个项目,就像一个老式的“lib”文件夹.
<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)