推移的依存性を解決するSBTに問題があります。SBT推移的依存性解決の競合
エラーは次のとおりです。
java.lang.NoSuchMethodError: com.vividsolutions.jts.index.strtree.STRtree.queryBoundary()Ljava/util/List
Geospark
1.14
に
jts2geojson
https://github.com/bjornharrtell/jts2geojson/blob/master/pom.xml
た参照のJTSを使用しているが、これは除外され、それらが代替としてカスタムアーティファクトを使用しています。
JTSPlus
と呼ばれ、依然として
com.vividsolutions
名前空間に存在し、いくつかの追加の方法、すなわち上に欠けている方法を提供します。
最新geotools 17
バージョン1.13
https://github.com/geotools/geotools/blob/master/pom.xml#L752-L754
でjts
を使用している私は、に必要どのように私はこれを達成することができ、追加が、必要な機能を提供していますorg.datasyslab.jtsplus
とgeotoolsからcom.vividsolution.jts
を交換? Mavenので
:
<dependency>
<groupId>org. geotools </groupId>
<artifactId> geotools </artifactId>
<version>YOURVERSION</version>
<exclusions>
<exclusion>
<groupId>com.vividsolutions</groupId>
<artifactId>jts</artifactId>
</exclusion>
</exclusions>
</dependency>
は動作するはずですが、SBTは
libraryDependencies ++= Seq(
"org.geotools" % "gt-main" % geotools,
"org.geotools" % "gt-arcgrid" % geotools,
"org.geotools" % "gt-process-raster" % geotools)
.map(_.excludeAll(
ExclusionRule(organization = "com.vividsolution", artifact = "jts")
))
を使用するためにそれを修正しませんでした。実際、dependencyGraphを使ってみると、私はSBTがまだバージョン1.13の通常のjtsをプロジェクト全体に適用していることがわかります。
元のJTSバージョンを正しく除外するために依存関係を修正するにはどうすればよいですか?
私build.sbtは
allDependencies
代わりの
libraryDependencies
ニーズが使用することをコメントで述べた
lazy val geotools = "17.0"
resolvers += "osgeo" at "http://download.osgeo.org/webdav/geotools"
resolvers += "boundless" at "http://repo.boundlessgeo.com/main"
resolvers += "imageio" at "http://maven.geo-solutions.it"
resolvers += Resolver.mavenLocal
libraryDependencies ++= Seq(
"org.geotools" % "gt-main" % geotools,
"org.geotools" % "gt-arcgrid" % geotools,
"org.geotools" % "gt-process-raster" % geotools)
.map(_.excludeAll(
ExclusionRule(organization = "com.vividsolution", artifact = "jts")
))
libraryDependencies ++= Seq(
"org.datasyslab" % "geospark" % "0.6.1-snapshot"
)