在applicationContext.xml

时间:2017-03-03 02:37:03

标签: xml intellij-idea

我在WEB-INF/classes目录创建了一个应用程序Context.xml。 我在xml中添加了<!DOCTYPE>。我收到以下错误:

  

未注册URI(设置|语言和框架|架构和DTD)

您可以在下面看到快照:

enter image description here

xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  // -> there comes the issue
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

8 个答案:

答案 0 :(得分:31)

您可以通过以下方式轻松解决:获取外部资源。

点击灯(你是红色) - &gt;获取外部资源。

答案 1 :(得分:7)

我假设这是在IntelliJ IDEA或其他一些JetBrains工具中。如果将光标放在URL上(或选择它),您应该会在窗口的左边缘看到一个红色灯泡。点击该红色灯泡将为您提供一些纠正任何错误的选项。其中一个选项应该是下载DTD(获取外部资源)。这样做,错误应该消失。

答案 2 :(得分:6)

这完成了工作:

Alt + Enter ->获取外部资源

答案 3 :(得分:2)

对我来说构建&gt;清洁项目工作。

答案 4 :(得分:1)

时间在变化,Apache根本不再支持该1.xx版本的log4j。该XML确实不在该地址上。

log4j已死。 log4j2万岁!
看这里: https://logging.apache.org/log4j/2.x/manual/migration.html

新的配置语言更短,更方便:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Logger name="org.apache.log4j.xml" level="info"/>
    <Root level="debug">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>

如果您觉得必须使用旧版本,则应下载旧地址中保存的旧XML,将其放在服务器上并使用新地址。

答案 5 :(得分:0)

如果“获取”无济于事,则意味着您已将此XML文件创建为具有.xml扩展名的空文件并手动填充了配置。现在,将其删除,然后从模板中正确创建为“ Spring config”文件。

答案 6 :(得分:0)

就我而言,我是从 debug 构建变体中打开XML资源文件的,而我的Android Studio已选择了 beta 构建变体。

我切换到 debug 构建变体(XML文件所属的变体),瞧!错误消失了。

enter image description here

答案 7 :(得分:0)

如果选择并按 ALT + ENTER ,即xticks,然后显示以下选项:

More Actions...

大多数情况下,您会选择选项号。 2或3摆脱这个错误。