首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用没有Maven的GeoTools

使用没有Maven的GeoTools
EN

Stack Overflow用户
提问于 2015-09-03 13:07:10
回答 1查看 782关注 0票数 0

我使用geotools库使用maven构建工具编写了一些java代码。当我作为独立的java应用程序在maven项目中运行时,这个小代码成功地运行。但是,由于我需要在另一个没有maven 的项目中使用这段代码,所以我将maven项目中的Maven Dependencies文件夹中的所有jar文件复制到我的另一个项目中,并将它们添加到外部jar/Dependencies中。但是,当我在eclipse.Here中运行java应用程序时,这段代码不会在新项目中运行,这就是代码和堆栈跟踪。

代码语言:javascript
运行
复制
38.    public static void main(String[] args) throws Exception {
39.     File file = new File("path to shapefile");
40.     modifyShapeFile(file);
    ...........................................
    ............................
    }
52.   public static void modifyShapeFile(final File file) throws Exception {
53.     ShapefileDataStore store = (ShapefileDataStore) FileDataStoreFinder
                .getDataStore(file);
54.     SimpleFeatureSource featureSource = store.getFeatureSource();
55.     SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource;
56.     Transaction transaction = new DefaultTransaction("modify");
57.     featureStore.setTransaction(transaction);
58.     SimpleFeatureType featureType = store.getSchema();
59.     SimpleFeatureBuilder build = new SimpleFeatureBuilder(featureType);
        ........................................................
        .........................................................

StackTrace:

代码语言:javascript
运行
复制
Exception in thread "main" java.lang.NoSuchFieldError: METER
    at org.geotools.referencing.wkt.Parser.parseSpheroid(Parser.java:560)
    at org.geotools.referencing.wkt.Parser.parseDatum(Parser.java:656)
    at org.geotools.referencing.wkt.Parser.parseGeoGCS(Parser.java:867)
    at org.geotools.referencing.wkt.Parser.parseProjCS(Parser.java:913)
    at org.geotools.referencing.wkt.Parser.parseCoordinateReferenceSystem(Parser.java:225)
    at org.geotools.referencing.wkt.Parser.parseCoordinateReferenceSystem(Parser.java:204)
    at org.geotools.referencing.factory.ReferencingObjectFactory.createFromWKT(ReferencingObjectFactory.java:1090)
    at org.geotools.data.PrjFileReader.<init>(PrjFileReader.java:94)
    at org.geotools.data.PrjFileReader.<init>(PrjFileReader.java:68)
    at org.geotools.data.shapefile.ShapefileSetManager.openPrjReader(ShapefileSetManager.java:106)
    at org.geotools.data.shapefile.ShapefileFeatureSource.readAttributes(ShapefileFeatureSource.java:515)
    at org.geotools.data.shapefile.ShapefileFeatureSource.buildFeatureType(ShapefileFeatureSource.java:471)
    at org.geotools.data.shapefile.ShapefileFeatureStore.buildFeatureType(ShapefileFeatureStore.java:131)
    at org.geotools.data.store.ContentFeatureSource.getAbsoluteSchema(ContentFeatureSource.java:340)
    at org.geotools.data.store.ContentFeatureSource.getSchema(ContentFeatureSource.java:309)
    at org.geotools.data.store.ContentDataStore.getSchema(ContentDataStore.java:339)
    at org.geotools.data.store.ContentDataStore.getSchema(ContentDataStore.java:712)
    at org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:197)
    at com.amazon.marketplacevolumeviewer.shapefile.ModifyShapeFile.modifyShapeFile(ModifyShapeFile.java:58)
    at com.amazon.marketplacevolumeviewer.shapefile.ModifyShapeFile.main(ModifyShapeFile.java:40)

maven项目的pom.xml文件是根据本教程:http://docs.geotools.org/latest/userguide/tutorial/quickstart/eclipse.html编写的。

这些jar文件没有附加源代码,因此我无法跟踪堆栈跟踪。

EN

回答 1

Stack Overflow用户

发布于 2015-09-04 13:56:56

在使用GeoTools时,请使用Maven --即使是像我这样成熟的开发人员也几乎不可能跟踪GeoTools所需的所有依赖项。

至少运行mvn依赖关系:在geotools构建上的列表显示您需要哪些文件,而不是盲目地复制。您可能需要拿起一个插件jar,它是相关的依赖项。

查看您的错误可以看出,您可能缺少了net.java.dev.jsr-275.jar中的Unit系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32376531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档