In my base project I use dependency of JasperReports which has non-existent repository declaration in its pom. When I run every Maven commad there is dependency looking for commons-collection in this Jasper repository so I need to wait for timeout.
This is my base project and is used as dependency in my others projects so again I need to wait for timeout.
Is there are a way to move this repository to blacklisted or override this settings?
Notes:
1.Why it search in Jasper repository, maybe bacause of ranges
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>[2.1,)</version>
<scope>compile</scope>
</dependency>
2.My idea to resolve this problem is to change jasper pom and use proxy repository, but I looking to another option.
3.I use jasperreports 1.3.3 version and I’d like don’t change it.
To my knowledge, this is not possible.
Yes, I think ranges are “responsible” here of this behavior. Without ranges, Maven wouldn’t have to check remote repositories for a newer version than the one available in your local repo.
Fixing jasper pom and using a proxy repository would of course be the ideal solution but this is not always possible. There is maybe a workaround though. Did you try to exclude jasperreports’s transitive dependencies that have ranges and to provide them yourself (with fixed version) in your pom instead. Something like this:
This way, Maven shouldn’t have to check the non existent repository and this should avoid having to wait for the timeout. I’d give it a try.
No problem.