0

运行下面的代码时,我看到以下异常...

java.lang.IncompatibleClassChangeError: org/opengis/util/InternationalString 不是 java.base/java.lang.ClassLoader.defineClassImpl(Native Method) ~[na:na] at java.base/java.lang.ClassLoader 的接口。 defineClassInternal(ClassLoader.java:481) ~[na:na] at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:442) ~[na:na]

import org.geotools.data.DataUtilities;
import org.geotools.feature.SchemaException;
import org.locationtech.jts.geom.Point;
import org.locationtech.jts.geom.Polygon;
import org.opengis.feature.simple.SimpleFeatureType;
....

    SimpleFeatureType schema = null;
    String srid = "27700";
    try {
        schema = DataUtilities.createType(
                "",
                "Location",
                "locations:Point:srid=" + srid + "," + "id:Integer"
        );
    } catch (SchemaException e) {
        // TODO Auto-generated catch block
        throw new RuntimeException("FUBAR", e);
    }

为什么存储库中缺少此接口?我该如何解决这个问题? https://github.com/geotools/geotools/blob/main/modules/library/metadata/src/main/java/org/geotools/util/

我可以看到这个接口(具有相同的包)存在于我使用 jscience 的另一个依赖项中...... 在此处输入图像描述

版本:

// https://mvnrepository.com/artifact/org.geotools/gt-referencing
implementation group: 'org.geotools', name: 'gt-referencing', version: '25-RC'

// https://mvnrepository.com/artifact/org.geotools/gt-main
implementation group: 'org.geotools', name: 'gt-main', version: '25-RC'

// https://mvnrepository.com/artifact/org.jscience/jscience
implementation group: 'org.jscience', name: 'jscience', version: '4.3.1'

 // https://mvnrepository.com/artifact/org.hibernate/hibernate-spatial (Contains locationtech jts-core@1.18.1)
implementation group: 'org.hibernate', name: 'hibernate-spatial', version: '5.4.30.Final'
4

0 回答 0