2013-03-04 8 views
6

Ich möchte Spark Projekt in Eclipse mit Maven starten. Ich habe m2eclipse installiert und ich habe eine funktionierende HelloWorld Java-Anwendung in meinem Maven-Projekt.Wie fügt man Spark zu Maven-Projekt in Eclipse hinzu?

Ich möchte Spark-Framework verwenden und folgen Sie den Anweisungen von the official site. Ich habe Spark-Repository meine pom.xml hinzugefügt:

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

Und dann die Abhängigkeit:

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

Aber ich einen Fehler in Eclipse bekommen:

Missing artifact spark:spark:jar:0.9.9.4-SNAPSHOT 

Wie kann ich beheben Sie dieses Problem? Ich möchte die Jar-Datei von Spark nicht herunterladen und in das lokale Repository stellen.

Dies ist meine pom.xml-Datei:

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

Könnten Sie zeigen uns Ihre ganze 'pom.xml' ändern? Sie können andere Abhängigkeiten auslassen, aber ich möchte die Struktur sehen. Stellen Sie außerdem sicher, dass Ihr Eclipse-Projekt Maven aktiviert hat (klicken Sie auf Projekt => 'Konfigurieren' =>' Konvertieren in Maven Project'). –

+0

@ André Ich habe pom.xml Datei zur Beschreibung hinzugefügt. – beam022

Antwort

7

Der repository Block muss in einem repositories Block gewickelt werden:

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

ich in derselben Ausgabe gelaufen war zunächst, weil ich mit verschiedenen gestartet Repository-URL für Spark und dann frühere Version verwenden Ich habe die Repository-URL geändert. Einige, wie es schien, bis ich die Repository-ID geändert habe. Versuchen Sie, die Repository-ID zu ändern.
Könnte ein Fehler in Maven sein, da das Ausführen von Maven von der Konsole auch die Abhängigkeit nicht auflösen konnte, ohne die ID zu aktualisieren.

+0

Das funktionierte wirklich für mich .. alles, was ich tat, war ich änderte ID von "Spark Repository" zu "Spark Repository". – FSP

12

Derzeit ist kein Endlager

Sie müssen hinzufügen für Spark-Bibliothek Laden benötigt nur

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

hinzuzufügen und das ist es.

Nützliche Anleitungen zum Spielen ist here

0

bitte das Repository, Tag innerhalb des Repositorys Tag wie unten

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

Grund für das Scheitern ist 0.9.9.4-snapshot hinzuzufügen, ist nicht available.Below das ist Liste der verfügbaren Snapshots. Verwenden Sie eine davon basierend auf Ihrer Anforderung.

0.9.8-SNAPSHOT/Sa 21 Mai 21.54.23 UTC 2011
0.9.9-SNAPSHOT/Mon 23. Mai 10.57.38 UTC 2011
0.9.9.1-snapshot/Do 26. Mai 09 : 47: 03 UTC 2011
0.9.9.3-snapshot/Do 1. September 07.53.59 UTC 2011

Danke, Sankara Reddy

0

die letzten Versionen (2.1 und höher) Spark müssen nur die Abhängigkeit definiert in der Pom.XML-Datei

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

die Repository-Definition ist nicht erforderlich, mehr

0

Verwendung dieses und auch sicherstellen, dass Sie Funken Bibliothek auf Version 2.11.x in Eclipse-Projekt Build-Pfad

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