当前位置:编程学习 > JAVA >>

SSH框架 Spring3.0 appliactionContext.xml文件在没网的情况下会报错

我的xml文件,求解决方法啊 有没有人遇见过这个问题


<?xml version="1.0" encoding="UTF-8"?>
<!-- - Application context definition for JPetStore's business layer. - Contains 
bean references to the transaction manager and to the DAOs in - dataAccessContext-local/jta.xml 
(see web.xml's "contextConfigLocation"). -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
"
default-autowire="byName">
<context:annotation-config />

<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- Connection Pooling Info -->
<!--连接池启动时的初始化 -->
<property name="initialSize" value="1" />
<property name="maxIdle" value="10" />
<property name="minIdle" value="5" />
<property name="maxActive" value="15" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="180" />
<property name="maxWait" value="3000" />
<property name="defaultAutoCommit" value="false" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="namingStrategy">
<bean class="org.hibernate.cfg.ImprovedNamingStrategy" />
</property>
<property name="packagesToScan">
<list>
<value>com.fyeun.doman</value>
</list>
</property>
<property name="hibernateProperties">
<props>
   
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.max_fetch_depth">3</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.jdbc.fetch.size">50</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
  <prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.current_session_context_class">thread</prop> 
<!--<prop key="hibernate.hbm2ddl.auto">create</prop> -->
</props>
</property>
</bean>

<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nestedTransactionAllowed">
<value>true</value>
</property>

</bean>

<aop:aspectj-autoproxy proxy-target-class="true" />

<tx:annotation-driven transaction-manager="txManager" />

<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" read-only="true" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* com..*Service*.*(..))"
advice-ref="txAdvice" />
</aop:config>
<context:component-scan base-package="com" />
</beans>
--------------------编程问答-------------------- 错误内容:

CIIMS]2012-04-27 09:20:47,796 INFO [main] ContextLoader.initWebApplicationContext(189) | Root WebApplicationContext: initialization started
[CIIMS]2012-04-27 09:20:48,031 INFO [main] AbstractApplicationContext.prepareRefresh(411) | Refreshing org.springframework.web.context.support.XmlWebApplicationContext@96212a: display name [Root WebApplicationContext]; startup date [Fri Apr 27 09:20:48 CST 2012]; root of context hierarchy
[CIIMS]2012-04-27 09:20:48,250 INFO [main] XmlBeanDefinitionReader.loadBeanDefinitions(323) | Loading XML bean definitions from class path resource [applicationContext.xml]
[CIIMS]2012-04-27 09:20:48,437 WARN [main] SimpleSaxErrorHandler.warning(47) | Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring-beans-3.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:96)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:380)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:2541)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaWarning(XSDHandler.java:2532)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:1836)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:531)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:552)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2408)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1753)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:685)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) --------------------编程问答--------------------  请检查你的spring版本,确保jar包版本是>=3.0的 --------------------编程问答-------------------- 同样纠结。只要我一用SSH整合,启动tomcat时就报错。但是还是可以正常访问。不明白。 --------------------编程问答-------------------- 这个不是错误,是个警告 --------------------编程问答--------------------
引用 4 楼  的回复:
这个不是错误,是个警告

项目都启动不了的 会是警告吗 --------------------编程问答-------------------- 请看你jdbc.url是本地的吗,或者换个hibernate驱动试试 --------------------编程问答--------------------
引用 2 楼  的回复:
请检查你的spring版本,确保jar包版本是>=3.0的

同意,请检查jar版本。 --------------------编程问答-------------------- 偶记得这些DTD或xsd文件默认是会从classpath中查找,如果在jar中找到的话是永远不会去网络上下载的!

不过如果确实要从网络下载,又不能连网,你可以用WinRAR从spring-3.0.jar中解压提取出这些xsd文件,和你这个applicationContext.xml一样放在一起,然后修改一下:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    spring-context-3.0.xsd
    http://www.springframework.org/schema/aop
    spring-aop-3.0.xsd
    http://www.springframework.org/schema/tx
    spring-tx-3.0.xsd"
    default-autowire="byName">

再测试下。 --------------------编程问答--------------------
引用 7 楼  的回复:
引用 2 楼 的回复:
请检查你的spring版本,确保jar包版本是>=3.0的

同意,请检查jar版本。

我不会引用啊 能讲下莫谢谢了啊 --------------------编程问答--------------------
引用 8 楼  的回复:
偶记得这些DTD或xsd文件默认是会从classpath中查找,如果在jar中找到的话是永远不会去网络上下载的!

不过如果确实要从网络下载,又不能连网,你可以用WinRAR从spring-3.0.jar中解压提取出这些xsd文件,和你这个applicationContext.xml一样放在一起,然后修改一下:

XML code


<beans xmlns="http://www……

我不会引用啊 能讲下莫谢谢了啊 --------------------编程问答--------------------
引用 10 楼  的回复:
我不会引用啊 能讲下莫谢谢了啊

你可以直接从Eclipse(Java EE for Eclipse3.6.2,Helios)展开spring-3.0.jar文件,找到spring-beans-3.0.xsd文件打开,在你的root classpath下(eclipse 默认把class文件放在bin下),新建个spring-beans-3.0.xsd,然后复制就行了;

这里:
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    spring-beans-3.0.xsd
如果还有路径问题,就改为下面的测试:
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    bin/spring-beans-3.0.xsd
--------------------编程问答-------------------- 楼上说的还算清楚了啊,就是到spring的相关jar包中用winrar之类的压缩软件打开,就能找到这些xsd文件,就是更改配置文件中查找xsd文件的路径 --------------------编程问答--------------------
引用 11 楼  的回复:
引用 10 楼 的回复:
我不会引用啊 能讲下莫谢谢了啊

你可以直接从Eclipse(Java EE for Eclipse3.6.2,Helios)展开spring-3.0.jar文件,找到spring-beans-3.0.xsd文件打开,在你的root classpath下(eclipse 默认把class文件放在bin下),新建个spring-beans-3.0.xsd,然后复制就行……
测试了 还是不行 ,照你上面的那样说 还是一个网址  系统还是回去网上查询的啊 --------------------编程问答-------------------- 检查JAR版本,楼主,你确定你的JAR是3.0的吗?
或者你的JAR来源是哪里?网上随便搜出来的?
建议从官方站下载Spring3.0,把你现有的JAR替换掉。
这基本上可以确定就是版本不符的问题。 --------------------编程问答-------------------- <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans

classpath:/org/springframework/beans/factory/xml/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop

classpath:/org/springframework/aop/config/spring-aop-3.0.xsd
http://www.springframework.org/schema/context 
  
classpath:/org/springframework/context/config/spring-context-3.0.xsd"
default-autowire="byName"> --------------------编程问答-------------------- 这个以前遇到过   把配置文件的3.0改成2.5就可以了

实际上还是用的3.0的 只不过改一下数字

3.0在没网的情况下会出现这种情况 --------------------编程问答--------------------
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,