我的web.xml中的web-app声明是:
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
eclipse抱怨所有4个属性,这是一个Eclipse抱怨:
Attribute "version" must be declared for element type "web-app"
为什么Eclipse会抱怨这些属性?我在这里做错了吗?
答案 0 :(得分:30)
删除DOCTYPE行,即xsd要替换的行。我有同样的问题,只有这个有用。
答案 1 :(得分:11)
尝试这样:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" >
Eclipse验证器对订单非常严格。
答案 2 :(得分:9)
我遇到了同样的问题。我尝试了不同的架构位置,它对我有用。而不是
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
尝试使用此
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
另外,请将版本设置为"3.0"
。
答案 3 :(得分:3)
您是否忘记了xml文件中的这一行?:
<?xml version="1.0" encoding="ISO-8859-1"?>
你的文件应该这样开始:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
如果它不起作用,请刷新您的项目。
答案 4 :(得分:1)
请参阅this oracle.com链接,了解Java EE 7宣布的内容(假设这是我们正在使用的内容)。链接状态
所有新架构都在http://xmlns.jcp.org/xml/ns/javaee/ 命名空间。
名称空间java.sun
尚未成为java.oracle
,而是由The Java Community Process (JCP)保留。因此,所有名称空间都应指向xmlns.jcp.org,Java EE 7文档也指出了这一点。
现在,当我们部署Web应用程序(因此需要定义web.xml)时,首先我们必须知道我们打算做什么。
说,我们正在使用Apache Tomcat V8。如果我们阅读文档here,我们就会知道它附带了Servlet 3.1。所以,我更喜欢Servlet 3.1的实现,只是为了保持最新,如果不是其他任何东西。
现在所说的一切,这就是我的声明
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
希望这能回答这个问题。
答案 5 :(得分:1)
我从
更改了声明http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd“&GT;
以下,它就像魅力一样。现在web.xml中没有显示错误
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“&GT;
答案 6 :(得分:1)
我要做的就是用下面的内容替换所有的xsd和模式位置声明,
<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_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
一切正常。
参考:https://docs.oracle.com/cd/E24329_01/web.1211/e21049/web_xml.htm#WBAPP502
答案 7 :(得分:0)
只需删除DOCTYPE即可。它的工作正常。