2014-10-31 102 views
0

我有Eclipse Kepler,我已经安装了Maven和Scala插件。我创建了一个新的Maven项目,并添加依赖Eclipse项目与Scala插件,Maven和Spark

的groupId:org.apache.spark 的artifactId:火花core_2.10 版本:1.1.0

http://spark.apache.org/downloads.html按照当前文档,一切都很好, Scala 2.10的罐子也被添加到项目中。然后我在项目中添加了“Scala Nature”,这增加了Scala 2.11,并且最终出现以下错误

构建路径中存在多个scala库(C:/ Eclipse/eclipse-jee-kepler- SR2-win32-x86_64/plugins/org.scala-lang.scala-library_2.11.2.v20140721-095018-73fb460c1c.jar,C:/Users/fff/.m2/repository/org/scala-lang/scala-library/ 2.10.4 /阶库-2.10.4.jar)。 至少有一个版本不兼容。 请更新项目构建路径,使其仅包含兼容的scala库。

是否可以一起使用Spark(来自Maven)和Scala IDE插件?任何想法如何解决这个问题?

感谢您的帮助。问候

回答

2

总之,是的,这是可能的。

星火目前正在使用Scala的2.10,而最新的Scala IDE是2.10和2.11“发表交叉”。您需要选择基于2.10的版本,即3.0.3。

然而,下一个主要版本,4.0,这是在发布候选模式,具有多版本的支持。您可以创建一个Scala项目并选择您想要使用的Scala版本(2.10或2.11)。如果你喜欢它,你可以尝试一下。

+0

谢谢,这做到了。我为该项目选择了Scala 2.10,并且它工作正常。亲切的问候 – Francesco 2014-10-31 10:14:47

0

您已经安装了斯卡拉IDE插件,但一个项目的斯卡拉性质是仅使用,如果你在项目中包含Scala类。然而,Spark和Scala是一起工作的。确保你使用兼容版本。您可以在您的计算机上使用install scala,然后使用兼容的spark maven依赖项。

0

是你可以使用..我提供以下

<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> 
0

的POM有2种类型的星火JAR文件(只是看着名称):

  • 名称包括词语“组件”而不是“核心”(具有内部的Scala)

  • 名称包括单词“核心”而不是“组件”(无Scala的内侧)。

你应该通过“添加外部JAR”(你需要的版本)在您的构建路径“芯”类型,因为Scala的IDE已经塞到一个Scala的为您服务。

或者,你可以利用SBT,并添加下面的相关(再次,要注意你所需要的版本):

libraryDependencies + =“org.apache.spark”%“火花core_2 .11“%”2.1.0“

然后,您不应该在构建路径中强制包含任何火花JAR。

快乐火花:

扎尔

>