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声明修改为:



 

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

log4j:configuration>

重新编译项目就可以了。

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

这种方法下DOCTYPE不用更改。
如下面两张截图:
xml文件在Eclipse中配置及错误总结_第1张图片

xml文件在Eclipse中配置及错误总结_第2张图片

其他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节点中出现了一些不符合规范的子节点,检查被注掉即可。如下图:
xml文件在Eclipse中配置及错误总结_第3张图片

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

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

错误:Web.xml is missing and 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.pluginsgroupId>
                <artifactId>maven-war-pluginartifactId>
                <configuration>
                    <failOnMissingWebXml>falsefailOnMissingWebXml>
                configuration             
            plugin>
        plugins>
    build>

你可能感兴趣的:(项目管理工具)