動的 Web アプリケーションを 2 つの動的 Web アプリケーション (コア部分とプロジェクト固有部分) に分割することにしました。Maven を実行すると、pom.xml によりコア プロジェクトの JAR ファイルが取得されます。
しかし、WTP では、コア プロジェクトを JAR ファイルとしてデプロイするよう Eclipse に納得させることができないようです。プロジェクトの「配置アセンブリ」のターゲット ファイル名を から に編集するとblah.war
、blah.jar
プロジェクトのプロパティを閉じて再度開くと、再び WAR ファイルになります。
そこで、コア プロジェクトを Web フラグメント モジュールにすることにしました (元のプロジェクトを分割したときは気が付きませんでした)。プロジェクト ファセットで [動的 Web モジュール] の選択を解除し、[Web フラグメント モジュール] を選択すると、[適用] または [OK] がグレー表示されてクリックできなくなります。
私は今何をしますか?最後に、WTP がコア プロジェクトの JAR ファイルを Web アプリの lib フォルダーに書き込むようにします。
編集:
新しい Web フラグメント プロジェクトを作成し、動的 Web プロジェクトとの明らかな違いを見つけようとしました。唯一の明らかな違いは.settings/org.eclipse.wst.common.project.facet.core.xml
そのままでした
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
そして今:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="java"/>
<fixed facet="jst.webfragment"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.webfragment" version="3.0"/>
</faceted-project>
そのファイルを上書きして、他のすべてがまだ設計どおりに機能していると想定するのは正しいですか (ここで Eclipse について言えば)。Eclipse が "Deployment Assembly" で JAR ファイルを提案し、それを作成するようになったことに気付きましたが、それが機能しているからといって、必ずしも他に何も壊れていないというわけではありません。