当我试图在Jenkins上构建它时,我正在查看该项目的父pom的详细信息。
<repository>
<id>m2-local</id>
<url>file:m2</url>
</repository>对我来说,上面的内容似乎是指项目的父级m2文件夹。但是id m2-local对我来说毫无意义。在pom中的其他任何地方都没有对m2-local的其他引用。我也在.m2/settings.xml中查找了m2-local,但在那里也找不到。有没有可能m2-local在这里一点意义都没有?此外,file:m2是用于Windows notation的,但Jenkins是基于Linux的。它在Linux上应该是什么样子的?
发布于 2015-11-26 02:35:54
<repository>
<id>m2-local</id>
<url>file:m2</url>
</repository>这个配置声明了一个Maven存储库,它的id是m2-local,并且指向file:m2。id只是一个标识符,没有其他含义。更相关的是URL。
这意味着当Maven尝试查找依赖项时,它将在URL中查找它们,以及其他潜在存储库的file:m2。URL指向本地计算机上一个名为m2的文件夹,该文件夹与file:m2位于同一位置(这是因为它使用的是相对路径)。这样的符号在Windows和Linux中都有效。
基本上,这意味着为了让您的构建在Jenkins机器上运行,您需要在项目的根目录( m2的位置)有一个名为POM的文件夹,并且Maven将在里面查找工件。
我建议您阅读Maven文档中的Introduction to Repositories。
https://stackoverflow.com/questions/33923466
复制相似问题