2016-09-30 25 views
6

Apache Spark uygulamasında maven ile uber jar oluşturmak için this eğitimini takip etmeliyim.Apache Spark Maven Bir uygulamanın serbest bırakılması ve geliştirilmesi için bağımlılar

Tüm Spark Bağımlılıklarını <scope>provided</scope> ile pomda ayarlıyorum. Bu çok iyi çalışıyor, ancak şimdi uygulamayı yerel olarak çalıştırdığımda, Spark bağımlılıklarının eksik olması için bir hata alıyorum.

Şu anda provided etiketi pompasından çıkarmam gerekiyordu.

Kıvılcım bağımlılıklarını yalnızca yayınlanmak üzere uygulama oluştururken nasıl sağlarım?

Uygulamaları geliştirmek için Intellij'i IDE olarak kullanırım.

cevap

1

Ayrı Maven profilleri oluşturabilirsiniz.

En seçenek versiyonlarını belirtmek gideceksiniz olacak profillerindeki sonra, POM dependencyManagment bölümüne sahip olmaktır sadece groupid + artifactId + kapsamı Örneğin

:

<profile> 
    <id>dev</id> 
    <activation> 
     <activeByDefault>false</activeByDefault> 
    </activation> 
    <dependencies> 
    <!-- Here Spark deps without provided --> 
     <dependency> 
      <groupId>...</groupId> 
      <artifactId>...</artifactId> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 
</profile> 
<profile> 
    <id>prod</id> 
    <dependencies> 
    <!-- Here Spark deps with provided --> 
     <dependency> 
      <groupId>...</groupId> 
      <artifactId>...</artifactId> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
</profile>