GUI を使用せずに Java コマンド ライン プロジェクトを作成しています。このプロジェクトでは、Spring、Logback、Commons CLI などのオープン ソース プロジェクトをいくつでも使用しています。 、および lib 内の依存 jar 。
adapter.jar
/lib/dependencyA.jar
/lib/dependencyB.jar
etc.
私はMaven Assemblyで遊んでいますが、それでも上記のようには出てこず、上記の構造を生成する例は見つかりませんでした. そうすることは可能ですか?さらに、マルチモジュール構造を持つことで、アセンブリ モジュールがコア モジュールを依存関係として見つけることができないため、解決できなかった別の複雑なレイヤーが追加されます。これは私の最初の Maven プロジェクトなので、Maven の仕組みをまだ学んでいます。私は Sonatype の本を読みましたが、ベスト プラクティスのセクションを使用しても不足している依存関係を解決できなかったため、何かを見逃していました。私が見た例には通常、uber 実行可能 jar へのマージが含まれており、その中には Shade プロジェクトを使用するものもあれば、使用しないものもあります。私の質問は、Spring などのサードパーティのライブラリを含む uber jar を実行するのは良い考えですか? それとも、元の zip/lib サブディレクトリ プランに固執する必要がありますか?