4

target/m2e-wtp/web-resourcesEclipse で Maven を使用して webapp プロジェクトを作成したところ、"Deployment Assembly" 構成カードにフォルダーという名前のソースがあることがわかりました。このソースは何を表していますか? 残しておくべきか、削除すべきか。

展開アセンブリ

4

1 に答える 1

9

まず、このエントリがあるということは、Eclipse がスムーズに動作していることを意味します。M2Eclipse とm2e-wtpが正しくインストールされています。

M2Eclipse は、Maven を Eclipse に統合するプロジェクトです。プロジェクトを Eclipse 内 (およびその他多数) で直接ビルドする機能を提供します。m2e-wtp は、Eclipse Web ツール プロジェクトとの統合に重点を置いた M2E のサブセットであるため、JavaEE プロジェクトと組み合わせて使用​​されます。

「統合」とは、すべてがスムーズに機能するように、舞台裏で多くの魔法が起こっていることを意味します。m2e-wtp のこれらの魔法の要素の 1 つは、target/m2e-wtp-web-resourcesEclipse 自体の内部で Web アプリケーションをデプロイするときに使用されるフォルダーです。ドキュメントからの引用:

target/m2e-wtp/web-resources/アプリケーションサーバーにデプロイする必要がある、自動生成されたリソースを含むフォルダーです。これらの生成されたリソースは次のとおりです。

  • pom.propertiesMANIFEST.MFmavenarchiver プラグインによって生成されます
  • <webResources>の構成のセクションで定義されたリソースmaven-war-plugin、またはフィルタリングされたリソースweb.xml

target/m2e-wtp/web-resources/が導出されます。Eclipse 用語では、含まれているファイルを手動で編集しようとすると、警告が表示されることを意味します。これは、次の (インクリメンタルかどうかに関係なく) プロジェクト ビルドで自動的に上書きされる可能性が高いためです。

<project>/.settings/org.eclipse.wst.common.componentファイルを見ると/target/m2e-wtp/web-resources、通常の war ソース ディレクトリの前に定義されていることがわかります。

<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="webapp">
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
    <property name="context-root" value="webapp"/>
    <property name="java-output-path" value="/webapp/target/classes"/>
  </wb-module>
</project-modules>

この順序の背後にある理論的根拠は、2 つの異なるソース フォルダーからの 2 つのファイルが衝突した場合、WTP は最初に見つかったファイルを展開することです。したがって、web.xmlの下に座っているユーザーをフィルター処理する場合、フィルターsrc/main/webapp/WEB-INF処理されたバージョンをサーバーに展開する必要がありますtarget/m2e-wtp/web-resources/WEB-INF/web.xml。何らかの理由で の使用を無効にしたい場合はtarget/m2e-wtp/web-resources/、できることを知っておいてください。

そのため、恐れることはありません。そのフォルダーの存在は、実際には、セットアップに問題がないことを示しています。そのエントリを誤って削除した場合は、次に Eclipse で Maven プロジェクトを更新したときに再作成されます。

于 2016-02-20T17:11:43.270 に答える