私はGUIのないJavaコマンドラインプロジェクトを作成しています。このプロジェクトでは、Spring、Logback、Commons CLIなど、いくつかのオープンソースプロジェクトを使用します。 私がパッケージングについて考え始めると、libサブディレクトリ、およびlib内の依存するjarファイルが含まれます。コマンドラインJavaプロジェクトをパッケージ化する最良の方法
adapter.jar
/lib/dependencyA.jar
/lib/dependencyB.jar
etc.
私はMavenの国会でプレーしてきたが、それでも上記のように出てきていない、と私は上記の構造を生成しない任意の例は見つかっていません。それは可能ですか? さらに、マルチモジュール構造にすることで、アセンブリモジュールがコアモジュールを依存関係として見つけることができないため、解決できなかった複雑なレイヤが追加されます。これは私の最初のMavenプロジェクトです.Mavenの動作方法もまだ習っています。私はSonatypeの本を読んできましたが、ベストプラクティスセクションを使用しても欠落している依存関係を解決できなかったため、何かを見逃しました。 私が見た例では、通常、実行可能なjarファイルへのマージが含まれていますが、その中にはShadeプロジェクトを使用するものもあれば、そうでないものもあります。私の質問は、Springのようなサードパーティ製のライブラリを含むuber jarをやっていますか?または、私のオリジナルのzip/libサブディレクトリ計画で辛抱強くしなければならないのでしょうか?
返信いただきありがとうございます。私はもう少し作業をして問題を解決しましたが、これが正しいアプローチであるかどうかについてはまだ賢明ではありません。私の元来の質問は、ユーバージャーと一緒に行くのか、それともlibプランを続けるのかということでした。戦略に関するアドバイスや参考資料はありますか? –
私は返信を始めましたが、私はもっと言いたいことがあることを発見しました。それはSO答えのためにちょっと主観的でしたので、代わりにブログエントリを書きました。見て、あなたが何を考えているか教えてください:http://foobarbazqux.blogspot.com/2011/09/common-scenarios-for-java-application.html – ddimitrov
はい、ブログのエントリは非常に有用であり、考えていなかった - ありがとう! –