cet*_*nar 21 dependencies maven-2 repository
在我的基础项目中,我使用了JasperReports的依赖项,它的pom中存在不存在的存储库声明.当我运行每个Maven commad时,依赖于在这个Jasper存储库中查找commons-collection,所以我需要等待超时.
这是我的基础项目,在我的其他项目中用作依赖项,所以我需要等待超时.
有没有办法将此存储库移至黑名单或覆盖此设置?
注意:1.
为什么在Jasper存储库中搜索,可能会因为范围而受到影响
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>[2.1,)</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我解决这个问题的想法是改变jasper pom并使用代理存储库,但我期待另一种选择.
3.我使用jasperreports 1.3.3版本,我想不要改变它.
Fre*_*lam 16
以下不会告诉maven忽略特定的存储库:
<repository>
<id>repo1.maven</id>
<url>http://repo1.maven.org</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
Run Code Online (Sandbox Code Playgroud)
有没有办法将此存储库移至黑名单或覆盖此设置?
据我所知,这是不可能的.
为什么它在Jasper存储库中搜索,可能是因为范围
是的,我认为范围对此行为"负责".如果没有范围,Maven就不必检查远程存储库以获得比本地存储库中可用版本更新的版本.
我解决这个问题的想法是改变jasper pom并使用代理存储库,但我期待另一种选择.
修复jasper pom并使用代理存储库当然是理想的解决方案,但这并不总是可行的.可能有一个解决方法.您是否尝试排除jasperreports的具有范围的传递依赖项,并在您的pom中自己提供(使用固定版本).像这样的东西:
<dependencies>
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>1.3.3</version>
<!-- Remove Transitive dependencies drawn by Jasper Report that we don't want -->
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
...
</exclusions>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>2.1</version><!-- Or whatever version, as long as it's fixed -->
<scope>compile</scope>
</dependency>
....
<dependencies>
Run Code Online (Sandbox Code Playgroud)
这样,Maven就不必检查不存在的存储库,这应该避免等待超时.我试一试.
我使用jasperreports 1.3.3版本,我想不要改变它.
没问题.
| 归档时间: |
|
| 查看次数: |
17325 次 |
| 最近记录: |