强制maven使用本地依赖关系
我被一个看似愚蠢的问题困住了,但我不知道如何解决它。我也在网上查过,但没有一个解决方案适合我 我有一个使用spark graphX模块的spark代码。我需要在graphX内部进行更改,并强制我的项目使用此graphX的修改版本。为了做到这一点,我首先从spark源代码中取出graphx模块并独立编译。然后在我的应用程序pom.xml文件中指定依赖项,该文件的作用域为“system”。这是我的应用程序pom强制maven使用本地依赖关系,maven,apache-spark,dependency-management,spark-graphx,Maven,Apache Spark,Dependency Management,Spark Graphx,我被一个看似愚蠢的问题困住了,但我不知道如何解决它。我也在网上查过,但没有一个解决方案适合我 我有一个使用spark graphX模块的spark代码。我需要在graphX内部进行更改,并强制我的项目使用此graphX的修改版本。为了做到这一点,我首先从spark源代码中取出graphx模块并独立编译。然后在我的应用程序pom.xml文件中指定依赖项,该文件的作用域为“system”。这是我的应用程序pom <?xml version="1.0" encoding="UTF-8"?>
<?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">
<groupId>edu.asu.gears.examples.spark</groupId>
<artifactId>PageRank</artifactId>
<packaging>jar</packaging>
<name>"PageRank"</name>
<version>1.0</version>
<modelVersion>4.0.0</modelVersion>
<!--
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
-->
<properties>
<java.version>1.8.0</java.version>
<scala.version>2.11.8</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<scala.tools.version>2.11</scala.tools.version>
<spark.version>2.3.2</spark.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<blaze.version>1.0</blaze.version>
<blaze.base>/home/user/sbiookag/blaze-master</blaze.base>
</properties>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-graphx_${scala.binary.version}</artifactId>
<version>${spark.version}</version>
<scope>system</scope>
<systemPath>${blaze.base}/examples/pageRank/APPs/GraphXFPGAApp/graphx/target/spark-graphx_2.11-3.0.0-SNAPSHOT.jar</systemPath>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.binary.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_${scala.binary.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<!--
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>blaze_${scala.binary.version}</artifactId>
<version>1.0.1</version>
</dependency>
-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
edu.asu.gears.examples.spark
PageRank
罐子
“PageRank”
1
4.0.0
1.8.0
2.11.8
2.11
2.11
2.3.2
UTF-8
UTF-8
1
/主页/用户/sbiookag/blaze master
scala-tools.org
Scala工具Maven2存储库
http://scala-tools.org/repo-releases
org.apache.spark
spark-graphx_${scala.binary.version}
${spark.version}
系统
${blaze.base}/examples/pageRank/APPs/GraphXFPGAApp/graphx/target/spark-graphx_2.11-3.0.0-SNAPSHOT.jar
org.scala-lang
scala图书馆
${scala.version}
org.apache.spark
spark-core{scala.binary.version}
${spark.version}
org.apache.spark
spark-mllib_${scala.binary.version}
${spark.version}
org.scala-tools
maven scala插件
编写
当我编译代码时,它仍然下载graphx依赖项,并且似乎在运行时也使用原始jar文件。我真的不知道如何解决这个问题。任何帮助都将不胜感激。
spark mllib
包含对spark graphx
的依赖项。您应该将其排除在pom.xml中:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_${scala.binary.version}</artifactId>
<version>${spark.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.spark</groupId>
<artifactId>spark-graphx_${scala.binary.version}</artifactId>
</exclusion>
</exclusions>
</dependency>
org.apache.spark
spark-mllib_${scala.binary.version}
${spark.version}
org.apache.spark
spark-graphx_${scala.binary.version}