我们正在将项目迁移到java 9,并且在使用geotools时遇到此异常:
java.lang.IllegalArgumentException: org.opengis.referencing.datum.DatumFactory is not an ImageIO SPI class
at java.desktop/javax.imageio.spi.ServiceRegistry.checkClassAllowed(ServiceRegistry.java:745)
at java.desktop/javax.imageio.spi.ServiceRegistry.<init>(ServiceRegistry.java:140)
at org.geotools.factory.FactoryRegistry.<init>(FactoryRegistry.java:155)
at org.geotools.factory.FactoryRegistry.<init>(FactoryRegistry.java:146)
at org.geotools.factory.FactoryCreator.<init>(FactoryCreator.java:82)
我的java版本:
openjdk 9
OpenJDK Runtime Environment (build 9+181)
OpenJDK 64-Bit Server VM (build 9+181, mixed mode)
我知道在GeoTools 19.0中支持java 9有一些变化,但是将geotools升级到版本19.0(以及20.x也是如此!)并不能解决这个问题。
请检查readme.html
文件。我检查了版本20.2,它说:
警告:尚不支持Java 9