gpt4 book ai didi

java - 无法将项目方面动态 Web 模块的版本更改为 2.5

转载 作者:IT老高 更新时间:2023-10-28 20:56:27 30 4
gpt4 key购买 nike

我从另一家公司继承了一个 Java Web 应用程序。我正在尝试将其加载到 Eclipse(通过 Import Maven Project)中,并收到一条错误消息,提示“无法将项目方面动态 Web 模块的版本更改为 2.5”。

我一直在摸索,我发现的一件事是 web.xml 文件以

开头
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">

并且 pom.xml 指定了

的依赖关系
    <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>

但 .settings 文件夹包含一个文件

<?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="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

我怀疑这里指定的 3.0 与其他地方指定的 2.5 冲突。有可能是这种情况吗?这种设置组合有什么方法不会导致错误? (旧版本的 Eclipse,例如?)

最佳答案

短版

试试这个:

  • 取消选择项目构面中的动态 Web 模块。右键单击项目 -> 首选项 -> 项目方面
  • 然后再次运行 Maven -> 更新项目

加长版

在学习一些 eclipse 动态 web/spring 内容时,我曾多次遇到此问题,但没有其他解决方案能够可靠地解决我的问题或帮助我了解导致问题的原因。我想我开始了。

看来,当您运行 Maven -> 更新项目时,m2e(我假设)正在将动态 Web 模块添加到项目方面。添加是这里的关键词。所以当我进去更新 web.xml从[...] http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd "版本="2.3">至[...] http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "版本="2.5">

我收到错误消息“无法将项目构面动态 Web 模块的版本更改为 2.5。”

当我尝试这样做时,3.0 也是如此。

似乎 m2e 能够将其添加到您的项目中,但就像错误所说的那样,一旦设置它就无法更改。因此,只需在项目方面页面中取消选择它。点击OK保存您的首选项并再次运行 Maven 更新。

Eclipse Project Facets Dynamic Web Module

如果您添加了服务器(如 tomcat)方面,您不应该需要在 pom.xml 中包含 javax.servlet。

Servlet-Api included in libraries

关于java - 无法将项目方面动态 Web 模块的版本更改为 2.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551213/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com