web.xml 缺失且 <failOnMissingWebXml> 设置为 true
web.xml is missing and <failOnMissingWebXml> is set to true
考虑:
当我创建一个简单的 Maven project in Eclipse 时,我收到了这个错误:
web.xml is missing and <failOnMissingWebXml>
is set to
true
我该如何解决这个问题?
我也遇到了同样的问题。经过学习和谷歌搜索,我已经解决了我的问题:
右键单击项目文件夹,转到 Java EE Tools
、select Generate Deployment Descriptor Stub
。这将在文件夹 src/main/webapp/WEB-INF
.
中创建 web.xml
你也可以这样做:
- 在 Project Explorer 中右键单击 部署描述符。
- Select 生成部署描述符存根。
它将在src/main/webapp和web.xml中生成WEB-INF文件夹在里面。
这是一个 Maven 错误。它说它期望在您的项目中有一个 web.xml 文件,因为它是一个 Web 应用程序,如 <packaging>war</packaging>
所示。但是,对于最近的 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>
如果你在/src/main/webapp/WEB-INF下已经有web.xml但你仍然得到错误"web.xml is missing and is set to true",你可以检查你是否包含了/src/main/webapp 在您的项目源中。
以下是您可以遵循的步骤:
- 您可以通过右键单击您的项目并打开其属性对话框来检查这一点,然后 "Deployment Assembly",您可以在其中添加文件夹 /src/main/webapp。保存设置,然后,
- 转到 Eclipse 菜单 Project -> Clean... 并清理项目,错误应该会消失。
(我用 Eclipse Mars 验证了这一点)
创建一个 web.xml 只是 elcipse 想要它是没有意义的,即使没有必要。如果您嵌入了 servlet conatiner 或没有像 spring-boot 那样的 xml cfg,就会出现这种情况。
您只是在项目级别或全局
的 eclipse 中禁用 JavaEE(无用的东西)
Eclipse/STS>Windows>Preferences>JavaEE>Doclet>Webdoclet> "uncheck" DeploymentDescriptor > OK
这样做:
转到并右键单击“部署描述符”,然后单击“生成部署描述符存根”。
你也可以这样做,这样比较不冗长
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
我遇到了同样的问题,尽管我的 'src/main/webapp/WEB-INF/'
文件夹具有正确的 web.xml
。
在我重新创建(maven->eclipse)配置后问题消失了
Maven build..
我执行了 mvn eclipse:clean eclipse:eclipse
然后我使用 Maven -> Update Project
添加 (eclipse->maven) 插件特定选项。
我只在 eclipse 中遇到过这个问题,在 Maven 命令行中一切正常,并且我的 web.xml 文件存在。这是一个成熟的项目(已经部署到生产中)受到了影响。我的问题与日食元数据有关。我的 .settings/ 文件夹中的其中一个文件有问题,特别是 org.eclipse.wst.common.component 已更改。我能够将此文件恢复到其之前的版本,这解决了我的问题。
请注意,Yuci 的回答对我不起作用,当我尝试单击 eclipse 属性中的 Deployment Assembly 时,出现了一个错误 "the currently displayed page contains invalid values."
如果您使用 Spring 工具套件,生成部署描述符存根的选项将移至 Java EE 工具下,因此您:
- 右键单击您的项目
- Select Java EE 工具
- Select 生成部署描述符存根选项
这将在 src/main/webapp/WEB-INF/ 文件夹中创建 web.xml 文件,当然还会从 Maven 的 pom.xml 文件中删除错误。
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/webapp 中创建 WEB-INF 文件夹,并在 WEB-INF 文件夹中包含 web.xml 页面,然后
从 -web/.setting&-admin/.setting
中删除文件
对于 web.xml 存在的项目
Project-->Properties-->Deployment Assembly,这里可以添加Folder src/main/webapp。
保存更改。
清理项目以开始。
对于 web.xml 不存在的项目
在属性标签下的 pom.xml 中将 failOnMissingWebXml 设置为 false。
Select 你的项目
和 select "Deployment Descriptor" 选项
然后选择 "Generate Deployment Descriptor stub"
右击项目,进入Maven -> Update Project...,勾选Force Update of Snapshots/Releases,然后点击确定。完成了!
步骤:Select 您的项目和 select "Deployment Descriptor" 选项,然后选择 "Generate Deployment Descriptor stub" 工作正常。问题是我们并不总是需要 web.xml,所以最好将 false 附加到 pom.xml
右击project --> New --> Other --> Standard Deployment Descriptor(web.xml)
然后按 下一步 它将创建 WEB-INF
文件夹,其中包含 web.xml
文件。
大功告成。
我的项目与war无关,但同样的错误。我不得不从 eclipse 中删除项目,从项目文件夹中删除所有 eclipse 文件并重新导入 maven 项目。
您需要将此标签添加到您的 pom.xml
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
请在POM.XML项目>结束标签前添加以下XML代码[= =11=]
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
这应该可以解决丢失 WEB.XML 文件的错误。
考虑:
当我创建一个简单的 Maven project in Eclipse 时,我收到了这个错误:
web.xml is missing and
<failOnMissingWebXml>
is set to true
我该如何解决这个问题?
我也遇到了同样的问题。经过学习和谷歌搜索,我已经解决了我的问题:
右键单击项目文件夹,转到 Java EE Tools
、select Generate Deployment Descriptor Stub
。这将在文件夹 src/main/webapp/WEB-INF
.
web.xml
你也可以这样做:
- 在 Project Explorer 中右键单击 部署描述符。
- Select 生成部署描述符存根。
它将在src/main/webapp和web.xml中生成WEB-INF文件夹在里面。
这是一个 Maven 错误。它说它期望在您的项目中有一个 web.xml 文件,因为它是一个 Web 应用程序,如 <packaging>war</packaging>
所示。但是,对于最近的 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>
如果你在/src/main/webapp/WEB-INF下已经有web.xml但你仍然得到错误"web.xml is missing and is set to true",你可以检查你是否包含了/src/main/webapp 在您的项目源中。
以下是您可以遵循的步骤:
- 您可以通过右键单击您的项目并打开其属性对话框来检查这一点,然后 "Deployment Assembly",您可以在其中添加文件夹 /src/main/webapp。保存设置,然后,
- 转到 Eclipse 菜单 Project -> Clean... 并清理项目,错误应该会消失。
(我用 Eclipse Mars 验证了这一点)
创建一个 web.xml 只是 elcipse 想要它是没有意义的,即使没有必要。如果您嵌入了 servlet conatiner 或没有像 spring-boot 那样的 xml cfg,就会出现这种情况。 您只是在项目级别或全局
的 eclipse 中禁用 JavaEE(无用的东西)Eclipse/STS>Windows>Preferences>JavaEE>Doclet>Webdoclet> "uncheck" DeploymentDescriptor > OK
这样做:
转到并右键单击“部署描述符”,然后单击“生成部署描述符存根”。
你也可以这样做,这样比较不冗长
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
我遇到了同样的问题,尽管我的 'src/main/webapp/WEB-INF/'
文件夹具有正确的 web.xml
。
在我重新创建(maven->eclipse)配置后问题消失了
Maven build..
我执行了 mvn eclipse:clean eclipse:eclipse
然后我使用 Maven -> Update Project
添加 (eclipse->maven) 插件特定选项。
我只在 eclipse 中遇到过这个问题,在 Maven 命令行中一切正常,并且我的 web.xml 文件存在。这是一个成熟的项目(已经部署到生产中)受到了影响。我的问题与日食元数据有关。我的 .settings/ 文件夹中的其中一个文件有问题,特别是 org.eclipse.wst.common.component 已更改。我能够将此文件恢复到其之前的版本,这解决了我的问题。
请注意,Yuci 的回答对我不起作用,当我尝试单击 eclipse 属性中的 Deployment Assembly 时,出现了一个错误 "the currently displayed page contains invalid values."
如果您使用 Spring 工具套件,生成部署描述符存根的选项将移至 Java EE 工具下,因此您:
- 右键单击您的项目
- Select Java EE 工具
- Select 生成部署描述符存根选项
这将在 src/main/webapp/WEB-INF/ 文件夹中创建 web.xml 文件,当然还会从 Maven 的 pom.xml 文件中删除错误。
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/webapp 中创建 WEB-INF 文件夹,并在 WEB-INF 文件夹中包含 web.xml 页面,然后
从 -web/.setting&-admin/.setting
中删除文件对于 web.xml 存在的项目 Project-->Properties-->Deployment Assembly,这里可以添加Folder src/main/webapp。 保存更改。 清理项目以开始。
对于 web.xml 不存在的项目 在属性标签下的 pom.xml 中将 failOnMissingWebXml 设置为 false。
Select 你的项目 和 select "Deployment Descriptor" 选项 然后选择 "Generate Deployment Descriptor stub"
右击项目,进入Maven -> Update Project...,勾选Force Update of Snapshots/Releases,然后点击确定。完成了!
步骤:Select 您的项目和 select "Deployment Descriptor" 选项,然后选择 "Generate Deployment Descriptor stub" 工作正常。问题是我们并不总是需要 web.xml,所以最好将 false 附加到 pom.xml
右击project --> New --> Other --> Standard Deployment Descriptor(web.xml)
然后按 下一步 它将创建 WEB-INF
文件夹,其中包含 web.xml
文件。
大功告成。
我的项目与war无关,但同样的错误。我不得不从 eclipse 中删除项目,从项目文件夹中删除所有 eclipse 文件并重新导入 maven 项目。
您需要将此标签添加到您的 pom.xml
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
请在POM.XML项目>结束标签前添加以下XML代码[= =11=]
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
这应该可以解决丢失 WEB.XML 文件的错误。