【问题标题】:How to add Spark to Maven project in Eclipse?如何在 Eclipse 中将 Spark 添加到 Maven 项目?
【发布时间】:2017-07-03 19:34:47
【问题描述】:

我想使用 Maven 在 Eclipse 中启动 Spark 项目。 我已经安装了 m2eclipse,并且在我的 Maven 项目中有一个可以工作的 HelloWorld Java 应用程序。

我想使用 Spark 框架,并按照 the official site 的指示进行操作。 我已将 Spark 存储库添加到我的 pom.xml:

<repository>
      <id>Spark repository</id>
      <url>http://www.sparkjava.com/nexus/content/repositories/spark/</url>
</repository>

然后是依赖:

<dependency>
      <groupId>spark</groupId>
      <artifactId>spark</artifactId>
      <version>0.9.9.4-SNAPSHOT</version>
</dependency>

但我在 Eclipse 中遇到错误:

Missing artifact spark:spark:jar:0.9.9.4-SNAPSHOT

我该如何解决这个问题?我不想下载 Spark 的 jar 文件并放在本地存储库中。

这是我的 pom.xml 文件:

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.myproject</groupId>
  <artifactId>Spark1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Spark1</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <repository>
      <id>Spark repository</id>
      <url>http://www.sparkjava.com/nexus/content/repositories/spark/</url>
  </repository>

  <dependencies>
<!--     (...) -->

    <dependency>
      <groupId>spark</groupId>
      <artifactId>spark</artifactId>
      <version>0.9.9.4-SNAPSHOT</version>
    </dependency>

  </dependencies>

</project>

【问题讨论】:

  • 你能给我们看看你的整个pom.xml吗?您可以省略其他依赖项,但我想看看结构。还要确保你的 Eclipse 项目确实启用了 Maven(点击项目=>Configure=>Convert to Maven Project)。
  • @André 我已将 pom.xml 文件添加到描述中。

标签: eclipse maven spark-java


【解决方案1】:

目前不需要为 Spark 库加载添加存储库

你只需要添加

<dependency>
    <groupId>com.sparkjava</groupId>
    <artifactId>spark-core</artifactId>
    <version>2.6.0</version>
</dependency>

就是这样。

有用的教程是here

【讨论】:

    【解决方案2】:

    repository 块需要包装在 repositories 块中:

    <repositories>
        <repository>
            <id>Spark repository</id>
            <url>http://www.sparkjava.com/nexus/content/repositories/spark/</url>
        </repository>
    </repositories>
    

    【讨论】:

      【解决方案3】:

      失败的原因是 0.9.9.4-SNAPSHOT 不可用。下面是可用的快照列表。根据您的要求使用其中一种。

      0.9.8-SNAPSHOT/2011 年 5 月 21 日星期六 21:54:23 UTC
      0.9.9-SNAPSHOT/ 2011 年 5 月 23 日星期一 10:57:38 UTC
      0.9.9.1-SNAPSHOT/ 2011 年 5 月 26 日星期四 09:47:03 UTC
      0.9.9.3-SNAPSHOT/ 2011 年 9 月 1 日星期四 07:53:59 UTC

      谢谢, 桑卡拉雷迪

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,因为最初我为 spark 使用不同的存储库 url,然后为了使用早期版本,我更改了存储库 url。在我更改存储库 ID 之前,它似乎没有生效。尝试更改存储库 ID。
        可能是 maven 中的错误,因为从控制台运行 maven 也无法在不更新 id 的情况下解决依赖关系。

        【讨论】:

        • 这实际上对我有用.. 我所做的只是将 id 从“Spark 存储库”更改为“Spark 存储库”。
        【解决方案5】:

        请添加存储库,在存储库标签内添加标签,如下所示

        <repositories>
                <repository>
                    <id>Spark repository</id>
                    <url>http://www.sparkjava.com/nexus/content/repositories/spark/</url>
                </repository>
            </repositories>
        

        【讨论】:

          【解决方案6】:

          Spark 的最新版本(2.1 及更高版本)只需要在 pom.xml 文件中定义的依赖项

          <dependency>
              <groupId>com.sparkjava</groupId>
              <artifactId>spark-core</artifactId>
              <version>2.1</version>
          </dependency>
          

          不再需要存储库定义

          【讨论】:

            【解决方案7】:

            使用这个最新的存储库。 http://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10/1.6.0

            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-core_2.10</artifactId>
                <version>1.6.0</version>
            </dependency>
            

            【讨论】:

              【解决方案8】:

              使用它,并确保在 eclipse 项目构建路径中将 spark 库更改为 2.11.x 版本

              <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">
                  <modelVersion>4.0.0</modelVersion>
                  <groupId>com.spark-scala</groupId>
                  <artifactId>spark-scala</artifactId>
                  <version>0.0.1-SNAPSHOT</version>
                  <name>${project.artifactId}</name>
                  <description>Spark in Scala</description>
                  <inceptionYear>2010</inceptionYear>
              
                  <properties>
                      <maven.compiler.source>1.8</maven.compiler.source>
                      <maven.compiler.target>1.8</maven.compiler.target>
                      <encoding>UTF-8</encoding>
                      <scala.tools.version>2.10</scala.tools.version>
                      <!-- Put the Scala version of the cluster -->
                      <scala.version>2.10.4</scala.version>
                  </properties>
              
                  <!-- repository to add org.apache.spark -->
                  <repositories>
                      <repository>
                          <id>cloudera-repo-releases</id>
                          <url>https://repository.cloudera.com/artifactory/repo/</url>
                      </repository>
                  </repositories>
              
                  <build>
                      <sourceDirectory>src/main/scala</sourceDirectory>
                      <testSourceDirectory>src/test/scala</testSourceDirectory>
                      <plugins>
                          <plugin>
                              <!-- see http://davidb.github.com/scala-maven-plugin -->
                              <groupId>net.alchim31.maven</groupId>
                              <artifactId>scala-maven-plugin</artifactId>
                              <version>3.2.1</version>
                          </plugin>
                          <plugin>
                              <groupId>org.apache.maven.plugins</groupId>
                              <artifactId>maven-surefire-plugin</artifactId>
                              <version>2.13</version>
                              <configuration>
                                  <useFile>false</useFile>
                                  <disableXmlReport>true</disableXmlReport>
                                  <includes>
                                      <include>**/*Test.*</include>
                                      <include>**/*Suite.*</include>
                                  </includes>
                              </configuration>
                          </plugin>
              
                          <!-- "package" command plugin -->
                          <plugin>
                              <artifactId>maven-assembly-plugin</artifactId>
                              <version>2.4.1</version>
                              <configuration>
                                  <descriptorRefs>
                                      <descriptorRef>jar-with-dependencies</descriptorRef>
                                  </descriptorRefs>
                              </configuration>
                              <executions>
                                  <execution>
                                      <id>make-assembly</id>
                                      <phase>package</phase>
                                      <goals>
                                          <goal>single</goal>
                                      </goals>
                                  </execution>
                              </executions>
                          </plugin>
                          <plugin>
                              <groupId>org.scala-tools</groupId>
                              <artifactId>maven-scala-plugin</artifactId>
                          </plugin>
                      </plugins>
                  </build>
              
                  <dependencies>
                      <dependency>
                          <groupId>org.apache.spark</groupId>
                          <artifactId>spark-core_2.11</artifactId>
                          <version>1.2.1</version>
                      </dependency>
                  </dependencies>
              </project>
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-04-22
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-11-28
                • 1970-01-01
                • 1970-01-01
                • 2018-06-30
                相关资源
                最近更新 更多