nested exception is java.net.UnknownHostException: mybatis.org

INFO: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@1db2e453')
Dec 13, 2018 9:49:02 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@6d0c2a2e')
Dec 13, 2018 10:51:33 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Dec 13, 2018 10:51:33 PM org.apache.catalina.core.ApplicationContext log
INFO: Set web app root system property: 'auth.root' = [/data/jwzt/Tomcat/tomcat-7.0.64-1/webapps/BillingSystem/]
Dec 13, 2018 10:51:33 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from [/data/jwzt/Tomcat/tomcat-7.0.64-1/webapps/BillingSystem/config/log4j.properties]
Dec 13, 2018 10:51:34 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Dec 13, 2018 10:51:35 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/config/mybatis-config.xml]; nested exception is java.net.UnknownHostException: mybatis.org
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:408)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
	at 

日志中显示mybatis-config.xml这个文件报错,直接看这个文件,因为在本地运行这个项目不报错,但是部署到Linux服务器上面报错,很郁闷。

后来百度发现是由mybatis配置文件头导致的,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd">

本地有网会访问到这个dtd文件约束,本地断网之后会出现和服务器上面一样的错误,是找不到这个约束文件。

引入本地的这个约束文件,文件可以网上下载,也可以去mybatis-3.2.0.jar(mybatis框架必须使用的jar包)中找,其路径是jar解压后mybatis-3.2.0\org\apache\ibatis\builder\xml\mybatis-3-config.dtd;

在eclipse中可以这么引,但是在eclipse中运行时成功的。但是导出项目放在本地tomcat中运行会报错,报找不到这个dtd文件,因为Ttomcat会找绝对路径。

改成下面这样,去引用本地项目下的这个绝对路径,在eclipse中和本地tomcat中都是可以运行的。

在Linux中也是引绝对路径,建议放在这个项目下,引用是可以的。

我之前放在tomcat的webapps下,放在这是因为有两个项目同时需要引这个文件,为了方便,但是启动报错说找不到这个路径下的文件。最后还是每个项目下放一个dtd文件,各自引用自己的则成功。

猜你喜欢

转载自blog.csdn.net/atongmu2017/article/details/85016985
今日推荐