私は3つの部分から構成されたプロジェクトがあります。異なるパッケージ:春+スパークアプリケーション
- 春ブートアプリケーション
- スパークアプリケーション
- 「ライブラリ」上記の両方で使用します(このライブラリを別のJARまたはそれと同様のものにしておくと、オーバーヘッドが少なくなり、開発が遅くなる)
私が望むのは、Springブートアプリケーションを実行するために使用できるJARですr myapp.jar)とSparkアプリ(java -cp myapp.jar path.to.main.class)を使用します。 2つのJARを持つこともOKですが、どちらもfat JAR(意味:依存関係を含む)である必要があります。
私が試したのpom.xmlにすると、このです:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
これは(予想通り)春ブートアプリケーションを実行するために使用することができます脂肪のJARを作成します。しかし、それはSparkアプリケーションには使用できません(クラスと依存関係は何らかの形で再パッケージ化されています)。 - しかし、依存関係のない
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
これは、同様に脂肪のJARを作成し、プラス別のJARはちょうど私のプロジェクトで実装されたクラスを保持する:
私の2回目の試行では、このでした。したがって、Sparkジョブは(期待通りに)開始しません。
どのようにこのような状況を解決するためのアイデアですか?
ありがとうございます!