apache sis数据库classpath:sis_data/databases/spatialmetadata'未找到

y1aodyip  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(293)

当我尝试初始化 org.apache.jena.geosparql.implementation.SRSInfo 在junit测试函数中,我得到 java.lang.ExceptionInInitializerError ,堆栈跟踪为:

Caused by: java.lang.ArrayStoreException: org.geotools.referencing.factory.epsg.FactoryUsingWKT
    at org.apache.sis.internal.referencing.LazySet.cache(LazySet.java:219)
    at org.apache.sis.internal.referencing.LazySet.get(LazySet.java:256)
    at org.apache.sis.internal.referencing.LazySet$1.next(LazySet.java:282)
    at org.apache.sis.referencing.factory.MultiAuthoritiesFactory.getAuthorityFactory(MultiAuthoritiesFactory.java:687)
    at org.apache.sis.referencing.factory.MultiAuthoritiesFactory.create(MultiAuthoritiesFactory.java:861)
    at org.apache.sis.referencing.factory.MultiAuthoritiesFactory.createCoordinateReferenceSystem(MultiAuthoritiesFactory.java:922)
    at org.apache.sis.referencing.CRS.forCode(CRS.java:234)
    at org.apache.jena.geosparql.implementation.SRSInfo.getDefaultWktCRS84(SRSInfo.java:242)
    at org.apache.jena.geosparql.implementation.SRSInfo.<clinit>(SRSInfo.java:51)
    ... 26 more

我测试了 CRS.forCode 函数,但得到相同的错误。
这个 derby.log 文件显示存在异常

java.sql.SQLException: Database 'classpath:SIS_DATA/Databases/SpatialMetadata' not found.

Caused by: ERROR XJ004: Database 'classpath:SIS_DATA/Databases/SpatialMetadata' not found.
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
    ... 18 more

我添加了maven依赖项 sis-embedded-data ```

org.apache.sis.non-free
sis-embedded-data
1.0
runtime

我还尝试添加 `sis-epsg` 并设置 `SIS_DATA` 环境变量,但得到类似的错误。
pzfprimi

pzfprimi1#

这个问题可能是由apachesis和geotools库之间的冲突引起的。我创建了一个干净的环境来测试这个问题,它无一例外地工作。所以,我排除了geotools库,得到了正确的答案!

相关问题