そのため、別のプロジェクト(テストフレームワーク)の依存関係としてSpringBoot実行可能jarを追加しようとしています。
ただし、一度pomに追加され、インポートされます。 Javaインポートが正しく機能しません。jarの内部を見ると、すべてのパッケージの前に次のものが付いています。
BOOT-INF/classes.some.package.classname.class
スプリングブーツ関連のパッケージ、マニフェストなどもあります。
SpringBootアプリのビルドをSpring-boot-maven-pluginを使用して通常のjarをインストールしてデプロイするように切り替えた場合は違います
これは変更され、すべてが正常に機能します。残念ながら、リリースプロセスの一部として実行可能jarに依存しているため、これは解決策ではありません。
両方のバージョンのjarをデプロイしてビルドし、分類子を使用してそれぞれを判別できますか?
ありがとう
この正確なシナリオは、spring-boot-maven-pluginを使用して実現できることがわかりました。
Spring Bootアプリのpom:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.1.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
...
</plugin>
スプリングブートjarを使用するプロジェクトは、通常どおり追加できます。
<dependency>
<groupId>com.springboot</groupId>
<artifactId>app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
または、実行可能なjarを参照する場合
<dependency>
<groupId>com.springboot</groupId>
<artifactId>app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>test</scope>
<classifier>exec</classifier>
</dependency>