使用GeoTools时无法找到FactoryRegistry类

时间:2016-03-17 10:40:46

标签: java shapefile geotools

我正在尝试使用GeoTools库加载和解析shapefile。但是,当我尝试加载文件时,以下调用导致org.geotools.factory.FactoryRegistry的依赖性失败:

DataStore newStore = DataStoreFinder.getDataStore(connect);

错误:

org/geotools/factory/FactoryRegistry
java.lang.NoClassDefFoundError: org/geotools/factory/FactoryRegistry

我在gradle中包含了以下依赖项:

compile files ('libs/geotools/gt-opengis-14.2.jar')
compile files ('libs/geotools/gt-api-14.2.jar')
compile files ('libs/geotools/gt-shapefile-14.2.jar')
compile files ('libs/geotools/gt-cql-14.2.jar')
compile files ('libs/geotools/gt-main-14.2.jar')
compile files ('libs/geotools/gt-referencing-14.2.jar')
compile files ('libs/geotools/gt-epsg-hsql-14.2.jar')

我不确定是否所有这些都是必需的,但他们都没有丢失的课程。我还缺少其他任何依赖吗?该课程记录在案here

1 个答案:

答案 0 :(得分:0)

这个问题的简单答案是使用Maven来管理您的依赖项,然后这会自动为您提供gt-metadata并解决您的问题。

如果您必须手动管理您的依赖项,那么我写了一篇blog post来描述如何使用oops在GeoTools jar中搜索类。