2016-04-04 11 views
0

Spark ile bir kaç şey denemek istiyorum ama sorun şu ki, kümelerimiz örn. Spark 1.6.0 bağımlılıkları zaten yerel olmakla birlikte, diğer yandan bu bağımlılıkları yerel geliştirme makinemde maven depomda sağlamanız gerekiyor.Maven projesini, dağıtımdan sonra bağımlılıkların sağlanması için nasıl yapılandırılır?

Bu benim şimdiki pom.xml

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

    <groupId>masterthesis.code</groupId> 
    <artifactId>wordvectors</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <stanford-corenlp.version>3.6.0</stanford-corenlp.version> 
     <sista.version>3.3</sista.version> 
     <gson.version>2.6.2</gson.version> 
     <spark.version>1.6.0</spark.version> 
    </properties> 

    <dependencies> 

     <!-- Apache Spark --> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-core_2.10</artifactId> 
      <version>${spark.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-mllib_2.10</artifactId> 
      <version>${spark.version}</version> 
     </dependency> 


     <!-- Stanford CoreNLP --> 
     <dependency> 
      <groupId>edu.stanford.nlp</groupId> 
      <artifactId>stanford-corenlp</artifactId> 
      <version>3.6.0</version> 
     </dependency> 


     <dependency> 
      <groupId>edu.stanford.nlp</groupId> 
      <artifactId>stanford-corenlp</artifactId> 
      <version>${stanford-corenlp.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>edu.stanford.nlp</groupId> 
      <artifactId>stanford-corenlp</artifactId> 
      <version>${stanford-corenlp.version}</version> 
      <classifier>models-english</classifier> 
     </dependency> 

     <!-- SISTA --> 
     <dependency> 
      <groupId>edu.arizona.sista</groupId> 
      <artifactId>processors</artifactId> 
      <version>${sista.version}</version> 
     </dependency> 


     <!-- GSON --> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>${gson.version}</version> 
     </dependency> 


    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

olurdu Ama nasıl son dağıtılan .jar değil örneğin şunlardır yaptığı bu tür yapılandırabilirsiniz spark-core_2.10 ancak bunun yerine bağımlılığı kümeden mi yükleyeceksiniz?

+0

, bu soruyu kapatabilmek için lütfen kabul edin! – eliasah

+0

@eliasah Maven'in aslında gölge eklentisini kullanarak bitirdim. Çözümü en kısa zamanda göndereceğim ancak şu anda başka bir projede çalışıyorum. – displayname

cevap

1
Sağlanan kapsam örneğin içine bağımlılığınızı yapılandırmanız gerekir

: kapsamını sağlamak

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

çok compile (varsayılan olarak kapsam) gibidir, ancak JDK veya bir kap bekliyoruz gösterir çalışma zamanında bağımlılığı sağlar. Örneğin, Java Enterprise Edition için bir web uygulaması oluştururken, web konteynırı bu sınıfları sağladığından, verilen kapsama servlet API'sine ve ilgili Java EE API'larına olan bağımlılığı ayarlarsınız. Bu kapsam yalnızca derleme ve test sınıfında kullanılabilir ve geçişli değildir. Sağlanan yanıt sorununuzu çözerse

+0

Bu çözüm ile ikinci adam sensin^^ Bu işe yaramaz çünkü ben istediğim değil ne zaman çalışma zamanında benim de-makine üzerinde kavanoz ve tüm bağımlılıkları sağlamak zorunda. – displayname

+0

Lütfen ne istediğinizi açıklayınız! Sorduğun şeyden anladım. ;) – eliasah

+0

"* Bu şekilde, son dağıtılmış .jar'ın örneğin spark-core_2.10'u içermeyeceği, ancak bunun yerine bağımlılığı kümeden yükleyecek şekilde nasıl yapılandırabilirim? *" Aslında ihtiyacım olan şey. Yerel makinem yerel veri havuzundan her şeyi sağlamalı, ancak kümeye dağıttığımda belirli bağımlılıkların kaldırılmasını/son kavanoz dosyasından çıkarılmasını istiyorum. – displayname

İlgili konular