今日仕事で出会ったことについて質問があります。
antビルドスクリプトでビルドされた2つのプロジェクトがあります。
それらをprojectAおよびprojectBと呼びましょう。
ProjectAはprojectA.jarをビルドし、projectBはprojectB.warとprojectB.earをビルドします。
ProjectB.warには、web-inflibディレクトリにprojectA.jarが含まれています。
projectBにはlibディレクトリがあり、projectA.jarが含まれています。
このビルドシナリオでは、projectBのビルドファイルはprojectAから直接projectA.jarをプルし、projectB libディレクトリからprojectA.jarもプルします(悪い習慣は知っていますが、このプロジェクトを継承し、修正しています:)) 。
したがって、warとそれに続くearファイルがビルドされると、projectb.warのweb-inflibディレクトリに2つのprojectA.jarファイルがあります。
したがって、最初の質問は次のとおりです。
antはどのようにwarファイルをまとめますか?パッケージ化用のファイルを保存するために一時ディレクトリを使用している場合、同じ名前の2つのファイルを作成することはできないと思いますか?
2番:
これをOC4Jにデプロイし、展開されたear / warファイルを含むディレクトリーを調べると、予想どおり、projectA.jarファイルは1つだけです。重要ではないが、どのファイルが使用されているかをどのように判断しますか?私はただ興味があります。
これは、projectAが異なるマシン上で異なる方法で構築されていたため、問題の原因でした。それ自体が別の問題でした。しかし、2つから選択されたjarは常に一貫しており、1つのマシンからのビルドは常に機能し、別のマシンからのビルドは機能しませんでした。
ご協力いただきありがとうございます。