回答:
次のように行うこともできます。
src / main / webappにWEB-INFフォルダーを生成し、その中にweb.xmlを生成します。
web.xml
ファイルになります。代わりに、ビルドツール(つまりmaven)でこの問題を修正する必要があります。
これは不可解なエラーです。これは、で示されて<packaging>war</packaging>
いるように、Webアプリケーションであるため、プロジェクトにweb.xmlファイルが必要であることを示しています。ただし、最近のWebアプリケーションでは、web.xmlファイルは完全にオプションです。Mavenはこの規則に追いつく必要があります。これをMaven pom.xml
に追加して、Maven が追いつくようにweb.xml
します。プロジェクトに役に立たないものを追加する必要はありません。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
これは空を追加するよりも良い解決策です web.xml
この方法で最終製品をクリーンに保ち、ビルドパラメーターを変更するだけだからです。
より最新のバージョンのmavenでは、より短いバージョンを使用することもできます。
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
Interface WebApplicationInitializer
この答えが正しいアプローチです。それはこの問題を解決する賢明な方法です- web.xml
それなしで生きるための手順を実行した後にを追加しても意味がありません!
<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
より詳細なプラグイン構成設定の代わりに十分なものを含みます。
あなたは既に/ srcに/メイン/ webappの/ WEB-INFの下のweb.xmlを持っていますが、場合、あなたはまだあなたが含まれているかどうかをチェックでき、「web.xmlのが欠落しているとtrueに設定されている」エラーが出る/ srcに/メイン/のWebアプリケーションでプロジェクトソース。
実行できる手順は次のとおりです。
(私はこれをEclipse Marsで検証しました)
Spring Tool Suiteを使用する場合、Generate Deployment Descriptor StubのオプションはJava EEツールの下に移動されるため、次のことができます。
これにより、src / main / webapp / WEB-INF /フォルダー内にweb.xmlファイルが作成され、Mavenのpom.xmlファイルからエラーが削除されます。
私は同じ問題を抱えています。勉強してグーグルしたら、問題を解決しました。
プロジェクトフォルダを右クリックして、に移動しJava EE Tools
、を選択しますGenerate Deployment Descriptor Stub
。これはweb.xml
フォルダに作成されますsrc/main/webapp/WEB-INF
。
冗長ではないこれを行うこともできます
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
Eclipseは誤ったデフォルトwebapp
ディレクトリを認識します。したがって、で明確に設定する必要がありmaven-war-plugin
ます。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webappDirectory>src/main/webapp</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
この設定を保存すると、削除してもエラーが発生することはありません。(理由は説明できません。)
'src/main/webapp/WEB-INF/'
正しいのフォルダがあっても、同じ問題が発生しましたweb.xml
。
Maven build..
実行して(maven-> eclipse)構成を再作成した後、問題は消えました
mvn eclipse:clean eclipse:eclipse
次にMaven -> Update Project
、(eclipse-> maven)プラグイン固有のオプションを追加しました。
私はeclipseでのみこの問題に遭遇し、すべてがMavenコマンドラインで正常に機能し、私のweb.xmlファイルが存在しました。影響を受けたのは成熟したプロジェクト(既に本番環境にデプロイされている)でした。私の問題はEclipseメタデータに関係していました。.settings /フォルダー内のファイルの1つに問題があり、具体的にはorg.eclipse.wst.common.componentが変更されていました。このファイルを以前のバージョンに復元できたため、私の場合は問題が解決しました。
Yuciの答えが機能しなかったことに注意してください。EclipseのプロパティでDeployment Assemblyをクリックしようとすると、「現在表示されているページに無効な値が含まれています」というエラーが表示されました。
プロジェクトを選択して[Deployment Descriptor]オプションを選択し、[Generate Deployment Descriptor stub]を選択します
src / webappにWEB-INFフォルダーを作成し、WEB-INFフォルダー内にweb.xmlページを含めます。
maven-war-plugin
ます。これは、その構成プロパティのデフォルト値がtrueである暗黙的なプラグインです。それを明示的に宣言し、構成プロパティをfalseに設定する必要があります。詳細はこちら。または、空のweb.xmlを追加することもできます