xml文件在Eclipse中配置及错误总结

自动提示

Eclipse中集成一些框架或项目的dtd文件,所以配置这些框架或项目配置文件的时,会得到提示。但对于其他的一些框架或项目,或是上文中说的集成的,但版本不同,导致不能得到自动提示。这是我们就需要手动进行配置。下面以 为 log4j的配置文件添加自动提示 为例。
方法1. 配置log4j.dtd文件: Windows -> Preferences -> XML -> XML Catalog 点击 Add.. 添加一个XML Catalog Entry

   在弹出的窗口如下配置:

            Location:    jar:file:F:/software/sts-2.3.3.M2/plugins/org.apache.log4j_1.2.13.v200903072027.jar!/org/apache/log4j/xml/log4j.dtd

            Key Type:    Public ID

            Key:             -//LOGGER

   注意:Location中的log4j.dtd文件的位置使用的是我本机STS的plugins里自带的log4jxxx.jar中的的文件,所以URI的前缀是 jar:file:

  此处也可以改成系统文件的位置,如 F:\software\sts-2.3.3.M2\plugins\log4j.dtd  只要这个log4j.dtd文件存在就行了。

然后将log4j.xml中的DOCTYPE声明修改为:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"> 

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

</log4j:configuration>

重新编译项目就可以了。

方法2.直接将log4j.dtd文件拷贝到与log4j.xml文件的同级目录下即可,但这样做每个用到log4j.xml的地方都要拷贝一次。

这种方法下DOCTYPE不用更改。
如下面两张截图:
这里写图片描述

这里写图片描述

其他xml配置文件类似。
为什么需要配置xml中引用的dtd文件,那是因为XML由DTD或XSD文件来定义的。简单的理解,配置dtd文件目的在于:让Eclipse知道配置该dtd文件的xml的语法,这样用户在编辑该文件时,才能得到提示。

Web.xml文件报错(文件格式不对)

报错内容如下:The content of element type “filter” must match “(icon?,filter-name,display-name?,description?,filter-class,init-param*)”.
解决方案: xml文件出现这种提示,说明filter节点中出现了一些不符合规范的子节点,检查被注掉即可。如下图:
这里写图片描述

同时注意到错误提示信息中,出现了一些通配符,其中? 表示 0 或 1 个,* 表示 0 或多个。未加通配符,说明这个子节点必须要声明。

pom.xml文件报错(Web.xml is missing)

错误:Web.xml is missing and <failOnMissingWebXml> is set to true
原因:maven看到pom.xml是 packaging 是 war的形式,它默认认为不能缺少web.xml
解决方案一:直接新建一个空的 web.xml 即可。
解决方案二:如果你的项目中确实不需要web.xml,同时你也不能忍受一个空的web.xml文件在你的项目中,可以在pom文件配置插件。

    <build>
        <plugins>   
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration             
            </plugin>
        </plugins>
    </build>
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值