web-dev-qa-db-ja.com

EclipseMavenプロジェクトはwb-resource警告を取り除きます

Eclipse Lunaでの私のMavenプロジェクトは、次の2つの警告を出します。

壊れたシングルルートルール:「/」のデプロイパスを持つ1つの要素のみがWebプロジェクトまたはEARプロジェクトに許可されます

そして

壊れたシングルルートルール:Webプロジェクトの出力フォルダーは/ WEB-INF/classesconfigurations-webである必要があります

これは、mavenプラグインがorg.Eclipse.wst.common.componentの次のwb-resourcesを使用してプロジェクト構成を設定するために発生します。

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="sample-web">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <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="/WEB-INF/classes" source-path="/.apt_generated"/>

        <property name="context-root" value="sample"/>
        <property name="Java-output-path" value="/sample-web/target/classes"/>
    </wb-module>
</project-modules>

この迷惑な警告を取り除くために、この検証を無効にするにはどうすればよいですか?

31
João

これは、そのような余分な警告を取り除くために私がしたことです。

Window->Preferences->Validation.

ここで探してくださいProject Structure Validation、(手動とビルド)の両方のチェックを外すと、警告はもう気になりません。

私のGradleベースのSpringBootプロジェクトには、問題を引き起こしている同様のリソースディレクトリがありますが、それ以上はありません。

これが他の人に役立つことを願っています。

これは変です。私はlunaでMavenWebプロジェクトを使用したことがありますが、そのようなエラーは発生していません。

あなたのpomに何か特別なものはありますか? Mavenの哲学は設定より規約であることを忘れないでください。それは多くの問題を救います。

EclipseがMavenプロジェクトに夢中になると、私は次のことを行います。

  1. プロジェクトを削除しますが、コンテンツは削除しません。
  2. コマンドプロンプトまたはファイルエクスプローラーから、プロジェクトルートに移動し、.project、.classpath、.apt_generated ...などのEclipse固有のファイルとディレクトリをすべて削除し、targetなどの出力ディレクトリも削除します。通常、pom.xmlとsrc /のみを残す必要があります。
  3. Eclipseから既存のMavenプロジェクトをインポートし、プロジェクトpomを選択します。
  4. Eclipseにpomからプロジェクトを自動構成させ、必要に応じて「mavenプロジェクトを更新」します。
  5. Eclipseプロジェクト設定からプロジェクト構成に直接触れないでください。常にpomを変更し、「mavenプロジェクトを更新」するだけです。

次の手順に従って、問題が解決するかどうかを確認してください。

0
Juan

警告を無効にする場合は、「Project Structure Validator」、「...」の順に移動し、「Facet:Dynamic Web Module--jst.web」を削除します。

0
Dirk R