2016-09-30 15 views
6

thisチュートリアルに従うと、Apache Sparkアプリケーション用のmavenを使用したuber jarを作成する必要があります。Apache Spark Mavenアプリケーションをリリースして開発するための依存関係

pomのすべてのスパーク依存関係を<scope>provided</scope>に設定しました。 これはうまくいきますが、アプリケーションをローカルで実行すると、Sparkの依存関係が見つからないというエラーが表示されます。

現時点では、私はprovidedタグをpomから削除しなければなりませんでした。

リリース用のアプリケーションをビルドするときにのみ、提供されるスパークの依存関係はどのようにすることができますか?

私はアプリケーション開発用のIDEとしてIntellijを使用しています。

答えて

1

別個のMavenプロファイルを作成できます。

ベストオプションは、その後のプロファイルにします。たとえば、唯一のgroupId +たartifactId +範囲

を持つことになり、バージョンを指定しますPOMでdependencyManagmentセクションを持つことです。

<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> 
関連する問題