geotools 14.* 升级到最新版(27-SNAPSHOT)
geotools 14.* 升级到最新版
项目使用geotools比较早,最开始由公司大神引入使用,后来逐渐发现一些问题,由于工作时间较忙,一直没时间升级,今天专门花时间升级成最新版。
主要参照官网说明:geotools官网升级指南
1. 添加maven settings.xml
在maven配置文件添加geotools镜像地址:
<mirror>
<id>osgeo-release</id>
<name>OSGeo Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<mirrorOf>osgeo</mirrorOf> <!-- previously http://download.osgeo.org/webdav/geotools/ -->
</mirror>
<mirror>
<id>geoserver-releases</id>
<name>Boundless Repository</name>
<url>https://repo.osgeo.org/repository/Geoserver-releases/</url>
<mirrorOf>boundless</mirrorOf> <!-- previously http://repo.boundlessgeo.com/main/ -->
</mirror>
2. 项目pom.xml 修改为最新版本
<geotools.version>27-SNAPSHOT</geotools.version>
注意点:
GeoTools 20.x 之后,需要引入 jts-core ${jts.version}: GeoTools 20 需要 Java 8.
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.18.2</version>
</dependency>
本项目使用的jar包
gt-data 和 gt-geometry 好像是完全被 jts-core取代,直接删除即可。
之前旧的类(com.vividsolutions)完全被新的取代(org.locationtech),需要将项目中的包修正一下。
3. 更新项目中受影响的代码
由于使用org.locationtech,需要手动修改受影响类 import 的包名,主要有 Point Linestring Polygon Geometry Coordinate 等。其余方法的变动暂时未涉及,可根据受影响程度修改即可。
14.x版
最新版