diff --git a/bin/compute-classpath.sh b/bin/compute-classpath.sh index 15c6779402994a15479b60884c3f4247bf3cb7c3..0f63e36d8aecab9d68cb38831f577faf2566772e 100755 --- a/bin/compute-classpath.sh +++ b/bin/compute-classpath.sh @@ -43,6 +43,7 @@ if [ -n "$SPARK_PREPEND_CLASSES" ]; then echo "NOTE: SPARK_PREPEND_CLASSES is set, placing locally compiled Spark"\ "classes ahead of assembly." >&2 CLASSPATH="$CLASSPATH:$FWDIR/core/target/scala-$SCALA_VERSION/classes" + CLASSPATH="$CLASSPATH:$FWDIR/core/target/jars/*" CLASSPATH="$CLASSPATH:$FWDIR/repl/target/scala-$SCALA_VERSION/classes" CLASSPATH="$CLASSPATH:$FWDIR/mllib/target/scala-$SCALA_VERSION/classes" CLASSPATH="$CLASSPATH:$FWDIR/bagel/target/scala-$SCALA_VERSION/classes" diff --git a/core/pom.xml b/core/pom.xml index b2b788a4bc13b024a3a06480820fb39079628592..2a81f6df289c0de47aac9155d8424e8d91f70cdf 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -351,6 +351,33 @@ </execution> </executions> </plugin> + <!-- + Copy guava to the build directory. This is needed to make the SPARK_PREPEND_CLASSES + option work in compute-classpath.sh, since it would put the non-shaded Spark classes in + the runtime classpath. + --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-dependencies</id> + <phase>package</phase> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>false</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + <useSubDirectoryPerType>true</useSubDirectoryPerType> + <includeArtifactIds>guava</includeArtifactIds> + <silent>true</silent> + </configuration> + </execution> + </executions> + </plugin> </plugins> <resources>