从当前的母版中拉出Geotrellis.spark._不是软件包Geotrellis的成员吗?

时间:2019-05-16 15:24:17

标签: scala geotrellis

我下载了Geotrellis,并尝试按照https://github.com/locationtech/geotrellis
中的说明进行操作 我将解析器和libraryDependency放入了build.sbt文件中。

已安装: 火花2.1.1 斯卡拉2.11.12 已安装Java 8 JRE和JDK。

环境:
Mac 10.14.4 Mojave

我尝试了以下方法来解决此问题,但是没有运气解决问题:

将Spark降级到以前使用的2.3.3和2.4.3版本(Spark的参考版本) 将Scala更新到版本2.11.12 确保Java版本为JRE和JDK中的版本8 验证Scala配置正确
验证Java配置正确

进入Geotrellis-master(截至2019年5月16日)->运行命令'./sbt'并获得没有问题的积极反馈->运行命令'console'并得到错误。
错误:对象spark不是包geotrellis的成员              导入geotrellis.spark。_

我以前遇到的问题是: scala>:12:错误:未找到:值地理网格              导入geotrellis.raster._                     ^ :13:错误:未找到:值geotrellis              导入geotrellis.vector._                     ^ :14:错误:未找到:值geotrellis              导入geotrellis.proj4._                     ^ :15:错误:未找到:值geotrellis              导入geotrellis.spark。_

此问题已通过将Scala版本从2.12.x中的较新版本更改为2.11.x来解决。因此,我一直期待对Spark版本进行更改以解决Spark问题,但到目前为止,这还没有解决问题。如果有人对如何解决这个问题有任何想法,我将不胜感激。谢谢您的协助。

2 个答案:

答案 0 :(得分:0)

GeoTrellis Spark没有Spark 2.1.1,您需要使用spark 2.1.0,并且仅适用于Scala 2.11版:https://mvnrepository.com/artifact/org.locationtech.geotrellis/geotrellis-spark

然后您应该使用

libraryDependencies += "org.locationtech.geotrellis" %% "geotrellis-spark_2.11" % "2.1.0"

此外,您可以升级到Spark 2.2.0并使用

libraryDependencies += "org.locationtech.geotrellis" %% "geotrellis-spark_2.12" % "2.2.0"

答案 1 :(得分:0)

如果您尝试编译GeoTrellis或仅使用master分支控制台,则它是已知问题/功能/错误。当前的SBT根项目并不包含所有子项目deps。如果您想要某些特定的子项目依赖项,只需选择您感兴趣的项目并调用控制台,即可完成操作:

$ ./sbt 
$ project spark
$ console