项目中需要用到JTS进行坐标转换,需要添加GeoTools依赖和远程仓库地址。因此研究了GeoTools的可用镜像地址。
以前用过的仓库地址如下,但是网络不通,无法下载。
<repository>
<id>boundless</id>
<name>Boundless Maven Repository</name>
<url>https://repo.boundlessgeo.com/main/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>osgeo</id>
<name>Open Source Geospatial Foundation Repository</name>
<url>http://download.osgeo.org/webdav/geotools/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
在mvnrepository.com网站上搜索gt-reference包,可以看到有6个可用的镜像地址,每个镜像的列表中都列出了jar包的多个版本。其中Bundless站点提供了最多版本的jar包,但是在不FQ的情况下,无法访问。
点击Repository列下的超链接,可以看到镜像的详细地址
对各个站点进行了测试,测试办法就是检查能否下载jar包的pom文件。
以OSGeo站点为例,显示的站点地址是https://repo.osgeo.org/repository/release , 而我需要下载的jar包名称是gt-referencing,groupId是org.geotools,版本号是17.4,因此下载pom的地址如下:
https://repo.osgeo.org/repository/release/org/geotools/gt-referencing/22.3/gt-referencing-22.3.pom
经过测试,能访问这个pom.xml文件。最终在项目的pom.xml文件中加入了下面的节点:
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
在maven的setting.xml配置文件中,设置osgeo的mirror,可以将各个项目中osgeo仓库的请求转向新的镜像地址,这样也很方便。
<mirror>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<mirrorOf>osgeo</mirrorOf>
</mirror>
解决了安装GeoTools包的问题后,偶然在geoTools官网上,发现它提供的maven仓库地址和我用的是一样的,真是大水冲了龙王庙,忽略了最重要的官网信息。不过上面的探索也是有意义的,如果发现maven工程中需要引入新的jar包,用上面的办法就能直接找到可用的maven仓库地址。