2013-03-04 5 views
6

Vorrei avviare il progetto Spark in Eclipse utilizzando Maven. Ho installato m2eclipse e ho un'applicazione HelloWorld Java funzionante nel mio progetto Maven.Come aggiungere Spark al progetto Maven in Eclipse?

Mi piacerebbe utilizzare Spark framework e sto seguendo le indicazioni da the official site. Ho aggiunto repository Spark al mio pom.xml:

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

E poi la dipendenza:

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

Ma io sto ottenendo un errore in Eclipse:

Missing artifact spark:spark:jar:0.9.9.4-SNAPSHOT 

Come posso risolvere questo problema? Non voglio scaricare il file jar di Spark e inserirlo nel repository locale.

Questo è il mio file 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> 
+0

Ci può mostrare tutto il tuo 'pom.xml'? Puoi omettere altre dipendenze, ma mi piacerebbe vedere la struttura. Assicurati inoltre che il tuo progetto Eclipse abbia realmente abilitato Maven (fai clic su progetto => 'Configura' =>' Converti in Progetto Maven'). –

+0

@ André Ho aggiunto il file pom.xml alla descrizione. – beam022

risposta

7

Il blocco repository deve essere avvolto in un repositories blocco:

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

avevo incontrato lo stesso problema perché inizialmente ho iniziato con diverso URL del repository per la scintilla e quindi per utilizzare la versione precedente ho cambiato l'URL del repository. Alcuni come non sembra essere entrato in vigore fino a quando non ho cambiato l'id del repository. Prova a cambiare l'ID del repository.
Potrebbe esserci un bug in Maven perché l'esecuzione di Maven dalla console non è stato in grado di risolvere la dipendenza senza aggiornare l'ID.

+0

Questo ha funzionato davvero per me .. tutto ciò che ho fatto è stato il cambio ID da "Spark repository" a "Spark Repository". – FSP

12

Al momento non ci repository è necessario aggiungere per Spark biblioteca carico

Hai solo bisogno di aggiungere

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

E questo è tutto.

utile tutorial con cui giocare è here

0

invitiamo ad aggiungere il repository, tag all'interno del tag repository come qui di seguito

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

Motivo per il fallimento è 0.9.9.4-SNAPSHOT non è available.Below è il elenco delle istantanee disponibili. Usane uno in base alle tue esigenze.

0.9.8-SNAPSHOT/sab 21 mag 21:54:23 UTC 2011
0.9.9-SNAPSHOT/Lun 23 Mag 10:57:38 UTC 2011
0.9.9.1-SNAPSHOT/gio 26 mag 09 : 47: 03 UTC 2011
0.9.9.3-SNAPSHOT/gio 1 set 07:53:59 UTC 2011

Grazie, Sankara Reddy

0

ultime versioni (2.1 e successive) di Spark devono solo il dipendenza definita all'interno del pom.file di

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

xml la definizione repository non è richiesto più

0

uso questo, e anche fare in modo di cambiare biblioteca scintilla alla versione 2.11.x nel progetto Eclipse percorso di generazione

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