gpt4 book ai didi

java - 使用 Clojure 中的 Geotools - 未处理的 java.lang.NoSuchFieldError METER

转载 作者:行者123 更新时间:2023-11-30 06:08:19 27 4
gpt4 key购买 nike

好吧,问题的核心是我收到了这个错误:

 Unhandled java.lang.NoSuchFieldError
METER

堆栈跟踪:

               Parser.java:  560  org.geotools.referencing.wkt.Parser/parseSpheroid
Parser.java: 656 org.geotools.referencing.wkt.Parser/parseDatum
Parser.java: 867 org.geotools.referencing.wkt.Parser/parseGeoGCS
Parser.java: 224 org.geotools.referencing.wkt.Parser/parseCoordinateReferenceSystem
Parser.java: 204 org.geotools.referencing.wkt.Parser/parseCoordinateReferenceSystem
ReferencingObjectFactory.java: 1090 org.geotools.referencing.factory.ReferencingObjectFactory/createFromWKT
PrjFileReader.java: 94 org.geotools.data.PrjFileReader/<init>
PrjFileReader.java: 68 org.geotools.data.PrjFileReader/<init>
ShapefileSetManager.java: 106 org.geotools.data.shapefile.ShapefileSetManager/openPrjReader
ShapefileFeatureSource.java: 519 org.geotools.data.shapefile.ShapefileFeatureSource/readAttributes
ShapefileFeatureSource.java: 475 org.geotools.data.shapefile.ShapefileFeatureSource/buildFeatureType
ShapefileFeatureStore.java: 132 org.geotools.data.shapefile.ShapefileFeatureStore/buildFeatureType
ContentFeatureSource.java: 343 org.geotools.data.store.ContentFeatureSource/getAbsoluteSchema
ContentFeatureSource.java: 312 org.geotools.data.store.ContentFeatureSource/getSchema
ContentDataStore.java: 345 org.geotools.data.store.ContentDataStore/getSchema
NativeMethodAccessorImpl.java: -2 sun.reflect.NativeMethodAccessorImpl/invoke0
NativeMethodAccessorImpl.java: 62 sun.reflect.NativeMethodAccessorImpl/invoke
DelegatingMethodAccessorImpl.java: 43 sun.reflect.DelegatingMethodAccessorImpl/invoke
Method.java: 483 java.lang.reflect.Method/invoke
Reflector.java: 93 clojure.lang.Reflector/invokeMatchingMethod
Reflector.java: 28 clojure.lang.Reflector/invokeInstanceMethod
geometry.clj: 40 grafter.tabular.geometry/store->dataset
geometry.clj: 39 grafter.tabular.geometry/store->dataset
geometry.clj: 51 grafter.tabular.geometry/eval17505/fn
MultiFn.java: 233 clojure.lang.MultiFn/invoke
common.clj: 191 grafter.tabular.common/dispatch-with-format-option
common.clj: 180 grafter.tabular.common/dispatch-with-format-option
common.clj: 197 grafter.tabular.common/eval1293/fn
MultiFn.java: 233 clojure.lang.MultiFn/invoke
common.clj: 200 grafter.tabular.common/read-dataset
common.clj: 199 grafter.tabular.common/read-dataset
RestFn.java: 410 clojure.lang.RestFn/invoke
REPL: 44 grafter.tabular.geometry/eval17511
REPL: 44 grafter.tabular.geometry/eval17511
Compiler.java: 6927 clojure.lang.Compiler/eval
Compiler.java: 6890 clojure.lang.Compiler/eval
core.clj: 3105 clojure.core/eval
core.clj: 3101 clojure.core/eval
main.clj: 240 clojure.main/repl/read-eval-print/fn
main.clj: 240 clojure.main/repl/read-eval-print
main.clj: 258 clojure.main/repl/fn
main.clj: 258 clojure.main/repl
main.clj: 174 clojure.main/repl
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 646 clojure.core/apply
core.clj: 1881 clojure.core/with-bindings*
core.clj: 1881 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 745 java.lang.Thread/run

当调用使用 org.geotools/gt-shapefile 中的某些 geotools 功能的函数时。我的起始版本是 15.1

奇怪的是,我们在一个几乎相同的应用程序中使用这个项目(版本13.2),使用相同的调用代码和相同的命名空间进行调用;但使用该版本在这里不起作用 - 会引发相同的错误。

我已经尝试过:

  • 相关库的多个版本,从 15.1 开始并从那里回滚
  • 多个版本的 clojure
  • 两个项目之间不同的内部库的多个版本

我环顾四周发现这似乎是一个依赖性问题,但我不确定它到底发生在哪里。

最佳答案

过了相当长的一段时间后,我设法解决了这个问题 - 并希望确保它能够为子孙后代提供支持。问题出在 javax.measure 库中;您可以看到字段 here 。有two versions关于 Maven 以及 2010 年 5 月后的持续开发是 elsewhere .

许多项目都将其混合在一起,并且很容易发生依赖项不匹配。在我们的例子中,Apache Tika 是罪魁祸首。我们的内部库之一使用 Tika,它使用:

[javax.measure/jsr-275 "0.9.3"]

而 Geotools 使用:

[net.java.dev.jsr-275/jsr-275 "1.0-beta-2”]

因此,将以下内容添加到 project.clj 中引用 javax.measure 的任何项目即可解决该问题:

 [library "x.x.x" :exclusions [javax.measure/jsr-275]]

要识别这些依赖项,请使用 $ lein deps :tree 来探索您的依赖项。

关于java - 使用 Clojure 中的 Geotools - 未处理的 java.lang.NoSuchFieldError METER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40000889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com