【问题标题】:How do I stop Maven from looking in all remote repositories for pom files of dependencies that are already installed to my local repository?如何阻止 Maven 在所有远程存储库中查找已安装到本地存储库的依赖项的 pom 文件?
【发布时间】:2010-11-08 22:54:55
【问题描述】:

在我的 Maven2 项目中,我依赖于一个 jar (mule-core-2.2.1.jar),它有两个依赖项,它们位于远程存储库中,但没有定义 pom 文件。所以我的 mvn 命令最初能够拉下 jar,但问题是每次我运行 mvn 命令时,它都会检查这两个 pom 的每个存储库。我可以告诉 mvn 不要检查这些 pom,因为我的 .m2 目录中已经有了 jar 吗?

【问题讨论】:

标签: maven-2 maven


【解决方案1】:

您是否考虑过只创建一个 POM?您可以使用

安装无 POM 工件
mvn install:install-file \
-Dfile=sample-artifactA-2.2.1.jar \
-DgroupId=org.mule.or.wathesle \
-DartifactId=sample-artifactA \
-Dversion=2.2.1 \
-Dpackaging=jar \
-DgeneratePom=true

一旦工件具有 POM,Maven 就不需要再检查了。

【讨论】:

  • 这并不理想,但我认为这是最好的选择。我使用 mvn deploy:deploy-file 代替,这样其他开发人员也可以受益,而无需自己运行命令。谢谢!
【解决方案2】:

试试这个:

<dependency>
  <groupId>org.mule.or.wathesle</groupId>
  <artifactId>mule-core</artifactId>
  <version>YOUR_MULE_VERSION</version>
   <exclusions>
     <exclusion>
       <groupId>sample.group</groupId>
       <artifactId>sample-artifactAB</artifactId>
     </exclusion>
   </exclusions>
</dependency>

【讨论】:

  • 这就是我排除工件的方式。我需要神器;问题在于将工件部署到他们的仓库的人没有提供 pom。因此,maven 每次调用它时都会检查 pom(请注意,它不会检查 jar,因为我在本地 repo 中有它)。我想要告诉 Maven 不要检查 pom,因为我有 jar。
猜你喜欢
  • 2012-01-10
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多