在我的Maven配置中,我有6个存储库。 3 Geo Tools Java框架的开源和3加密凭证访问的专有。
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net repository</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>osgeo</id>
<name>Open Source Geospatial Foundation Repository</name>
<url>http://download.osgeo.org/webdav/geotools/</url>
</repository>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>boundless</id>
<name>Boundless Maven Repository</name>
<url>http://repo.boundlessgeo.com/main</url>
</repository>
我添加了此处提到的外部存储库:http://docs.geotools.org/latest/userguide/tutorial/quickstart/eclipse.html
我也添加了插件存储库并更新了我的settings.xml
,因此两个存储库都匹配。
<pluginRepository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net repository</name>
<url>http://download.java.net/maven/2</url>
</pluginRepository>
<pluginRepository>
<id>osgeo</id>
<name>Open Source Geospatial Foundation Repository</name>
<url>http://download.osgeo.org/webdav/geotools/</url>
</pluginRepository>
<pluginRepository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>boundless</id>
<name>Boundless Maven Repository</name>
<url>http://repo.boundlessgeo.com/main</url>
</pluginRepository>
我甚至下载了这些Geo Tool依赖项所需的jar
,并将它们放在我的.m2
文件夹中。
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>18.2</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>18.2</version>
</dependency>
但是,当我尝试运行mvn clean install -X
时,当Maven尝试将401 Unauthorized
org.geotools
传入/传出时,我可以看到我收到jar
我配置的专有存储库,但我甚至不想让Maven尝试。
如何配置Maven,以便从这3个存储库加载org.geotools.*
:<id>maven2-repository.dev.java.net</id>
,<id>osgeo</id>
,<id>boundless</id>
以及从专有存储库加载?
我听说我可以配置一个代理,但没有人解释我会怎么做。我试图在我的专有存储库中存储Geo Tools所需的罐子,但被告知我不能。我还尝试配置镜像以仅在我的settings.xml
中将流量定向到这些外部存储库,如下所示,但我发现无法将jar
转移到仅存在于专有存储库中的问题。
<mirrors>
<mirror>
<id>boundless</id>
<name>Boundless Repository Mirror</name>
<url>http://repo.boundlessgeo.com/main</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
答案 0 :(得分:1)
我不知道这是否可以使用maven完成,但可以使用Artifactory虚拟存储库完成。其他存储库管理工具应具有类似的概念。 基本上,您设置了Artifactory存储库,您的应用程序应该引用此存储库。您可以在Artifactory中配置应从哪个存储库下载jar。
考虑存储库的Include Patterns和Exclude Patterns如下: 包含模式:org / apache / ,com / acme / 排除模式:com / acme / exp-project / ** 在这种情况下,Artifactory将在存储库中搜索org / apache / maven / parent / 1 / 1.pom和com / acme / project-x / core / 1.0 / nit-1.0.jar,但不会搜索com / acme / exp- project / core / 1.1 / san-1.1.jar因为com / acme / exp-project / **被指定为Exclude模式。
https://www.jfrog.com/confluence/display/RTF/Common+Settings#CommonSettings-Package
https://www.jfrog.com/confluence/display/RTF/Virtual+Repositories