当我运行Apache Commons VFS2的site
版本时,依赖项报告插件会尝试填充矩阵,哪个工件可以通过哪个存储库获取。
在我的情况下,它还试图检查maven.glassfish.org存储库,这是AFAIK放弃的。但由于它仍然存在于一些使用过的依赖POM中,它仍然出现在我的项目中(我想我不能轻易地影响它)。
[INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:2.7
[ERROR] Unable to determine if resource asm:asm:jar:3.1:provided exists in http://maven.glassfish.org/content/groups/glassfish
...
这不仅会产生很多错误,还需要时间。此外,我还想将报告中的列限制为与此项目相关的存储库。
我想知道,有没有办法让插件(以及所有Maven)跳过特定的存储库?你会如何将它们列入我的project POM?
dependency:list-repositories
目标未显示此回购,但当我搜索所有缓存的POM文件时,我在<id>glassfish-repository</id>
中看到com.sun.jersey:jersey-server:1.8
。
答案 0 :(得分:1)
选择其中一项:
请记住,pom中定义的每个额外回购都会影响您的构建的性能, 因为Maven必须检查每个 repo的工件。它不是一个大的 问题,如果你只需要添加一个回购...但问题会增长,接下来 你知道你的maven构建的东西是为每个工件检查50个repos 建立时间是一条狗。有关影响的详细信息,请参阅此email thread。
避免使用这些选项
这里的每个其他选项都是黑客,选择任何这些选项都意味着其他人都需要进行相同的更改来解决问题。
<repository>
<releases>
<enabled>false</enabled>
</releases>
<id>the repo id from X here</id>
<name>the repo's name</name>
<url>the repo's url</url>
</repository>
<mirror>
<id>Another Mirror</id>
<url>url to mirror</url>
<mirrorOf>id of broken repo</mirrorOf>
</mirror>
<mirror>
<id>Local MRM</id>
<url>url to MRM</url>
<!-- Mirror EVERYTHING to your MRM -->
<mirrorOf>*</mirrorOf>
</mirror>