Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4.0
-
None
Description
A strange error happens when launching spark-shell with --packages specified as sedona spark packages:
:::::::::::::::::::::::::::::::::::::::::::::: :: UNRESOLVED DEPENDENCIES :: :::::::::::::::::::::::::::::::::::::::::::::: :: org.apache.sedona#sedona-spark-shaded-3.0_2.13;1.4.0: java.text.ParseException: inconsistent module descriptor file found in 'https://repo1.maven.org/maven2/org/apache/sedona/sedona-spark-shaded-3.0_2.13/1.4.0/sedona-spark-shaded-3.0_2.13-1.4.0.pom': bad module name: expected='sedona-spark-shaded-3.0_2.13' found='sedona-spark-shaded-3.0_2.12'; :: org.scalatest#scalatest_2.13;working@kontinuation: not found :: org.scala-lang.modules#scala-collection-compat_2.13;working@kontinuation: not found :::::::::::::::::::::::::::::::::::::::::::::: :::: ERRORS unknown resolver null central: bad module name found in https://repo1.maven.org/maven2/org/apache/sedona/sedona-spark-shaded-3.0_2.13/1.4.0/sedona-spark-shaded-3.0_2.13-1.4.0.pom: expected='sedona-spark-shaded-3.0_2.13 found='sedona-spark-shaded-3.0_2.12'
It complains that the POM of spark-shaded contains an inconsistent module name. Part of the POM file of sedona-spark-shaded-3.0_2.13;1.4.0 looks like this:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <artifactId>sedona-parent</artifactId> <groupId>org.apache.sedona</groupId> <version>1.4.0</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>sedona-spark-shaded-${spark.compat.version}_${scala.compat.version}</artifactId> <name>${project.groupId}:${project.artifactId}</name> <description>A cluster computing system for processing large-scale spatial data: Spark Shaded.</description> <url>http://sedona.apache.org/</url>
The artifactId was not resolved to constants when publishing, so the dependency resolver uses the property definitions in parent POM to resolve ${spark.compat.version}_${scala.compat.version}. The parent POM defined spark.compat.version as 3.0 and scala.compat.version as 2.12 in default activated profile, so the artifact name would be sedona-spark-shaded-3.0_2.12, which is inconsistent with sedona-spark-shaded-3.0_2.13.