geotools 14.* 升级到最新版(27-SNAPSHOT)

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包
geotools 14.* 升级到最新版(27-SNAPSHOT)

gt-data 和 gt-geometry 好像是完全被 jts-core取代,直接删除即可。
之前旧的类(com.vividsolutions)完全被新的取代(org.locationtech),需要将项目中的包修正一下。

3. 更新项目中受影响的代码

由于使用org.locationtech,需要手动修改受影响类 import 的包名,主要有 Point Linestring Polygon Geometry Coordinate 等。其余方法的变动暂时未涉及,可根据受影响程度修改即可。

14.x版
geotools 14.* 升级到最新版(27-SNAPSHOT)
最新版
geotools 14.* 升级到最新版(27-SNAPSHOT)

上一篇:Direct2D (18) : 图层之 TD2D1LayerParameters.contentBounds (图层的有效范围)


下一篇:Direct2D (17) : 蒙版之 FillGeometry() 方法