如何阻止Maven在所有远程仓库中查找已经安装到本地仓库的依赖项的pom文件?

5
在我的Maven2项目中,我依赖于一个名为mule-core-2.2.1.jar的jar包,它有两个依赖项位于远程仓库中,但没有定义pom文件。因此,我的mvn命令最初能够下载这些jar包,但问题是每次运行mvn命令时,它都会检查每个仓库中这两个pom文件。我能否告诉mvn不要检查这些pom文件,因为我已经在.m2目录中拥有了这个jar包?

2个回答

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,这样其他开发人员也可以受益,而不必自己运行命令。谢谢! - awynne

0

试试这个:

<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>

这是我排除artifact的方法。我需要这个artifact,问题在于将artifact部署到其repo的人没有提供pom文件。因此,每次调用Maven时都会检查pom文件(请注意,它不会检查jar文件,因为我已经有了本地repo中的jar文件)。我想要的是告诉Maven不要检查pom文件,因为我有jar文件。 - awynne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接