IllegalAccessException .. не может получить доступ к члену класса с модификаторами "protected"

Это мой скала код. Я пытаюсь внедрить файл Geotiff в HDFS с помощью библиотеки Geotrellis.

package RasterDataIngest.RasterDataIngestIntoHadoop

import geotrellis.spark._
import geotrellis.spark.ingest._
import geotrellis.spark.io.hadoop._
import geotrellis.spark.io.index._
import geotrellis.spark.tiling._
import geotrellis.spark.utils.SparkUtils
import geotrellis.vector._
import org.apache.hadoop.fs.Path
import org.apache.spark._
import com.quantifind.sumac.ArgMain
import com.quantifind.sumac.validation.Required

class HadoopIngestArgs extends IngestArgs {
  @Required var catalog: String = _
  def catalogPath = new Path(catalog)
}

object HadoopIngest extends ArgMain[HadoopIngestArgs] with Logging {
  def main(args: HadoopIngestArgs): Unit = {
   System.setProperty("com.sun.media.jai.disableMediaLib", "true")

    implicit val sparkContext = SparkUtils.createSparkContext("Ingest")
    val conf = sparkContext.hadoopConfiguration
    conf.set("io.map.index.interval", "1")

    val catalog = HadoopRasterCatalog(args.catalogPath)
    val source = sparkContext.hadoopGeoTiffRDD(args.inPath)
    val layoutScheme = ZoomedLayoutScheme()

    Ingest[ProjectedExtent, SpatialKey](source, args.destCrs, layoutScheme, args.pyramid){ (rdd, level) => 
      catalog
        .writer[SpatialKey](RowMajorKeyIndexMethod, args.clobber)
        .write(LayerId(args.layerName, level.zoom), rdd)
    }
  }
}

Когда я запускаю этот код, я получаю следующую ошибку. Пожалуйста, помогите мне решить эту ошибку.

java.lang.IllegalAccessException: Class org.osgeo.proj4j.Registry can not access a member of class org.osgeo.proj4j.proj.Projection with modifiers "protected"

1 ответ

Я считаю, что проблема связана с плохим кешем sbt или несоответствием версии Java. Попробуйте последнюю стабильную версию GeoTrellis: 0.10.3 (Scala 2.10/2.11, Java 8, Spark 1.6.x). Если вы планируете использовать GeoTrellis со Spark 2, взгляните на снимок GeoTrellis (версия 1.0.0 будет поддерживать Spark 2+, Java 8 и Scala 2.11).

Другие вопросы по тегам