第一种错误:
15:30:16,378 ERROR [JBossContextConfig] XML error parsing: WEB-INF/context.xml
org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser
解决方案:在Jboss的部署目录,找到刚刚部署的项目WebRoot/lib下,找到:xerces-2.6.2.jar和xml-apis.jar,删除即可!
第二种错误:
15:38:32,211 ERROR [ContextLoader] Context initialization failed
org.springframework.context.ApplicationContextException: Failed to load custom context class [org.jboss.spring.vfs.context.VFSXmlWebApplicationContext]; nested exception is java.lang.ClassNotFoundException: org.jboss.spring.vfs.context.VFSXmlWebApplicationContext
解决方案:加入jboss-spring-int-vfs.jar 和 jboss-as-sprint-int-5.0.0.GA.jar两个jar包!下载地址:http://download.csdn.net/detail/tangkai_java/4434161
第三种:
做完以上两步,Jboss启动成功,但是项目却不加载,控制台亦无任何异常输出!通过浏览器可以进入Jboss控制台,却无法访问部署的项目!这种情况是部署的项目没有成功启动导致的!
解决方案:在WebRoot下增加XML文件jboss-web.xml,文件内容如下:
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<class-loading java2ClassLoadingCompliance="true">
<loader-repository>
com.xinggang:archive=agent.war
<loader-repository-config>
java2ParentDelegation=true
</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
其中com.xinggang可以随便命名,agent.war可以是你自己项目名称+“.war” ,具体的含义可以百度“jboss-web.xml”,然后再修改web.xml,在文件最开头增加如下配置:
<context-param>
<param-name>contextClass</param-name>
<param-value>org.jboss.spring.vfs.context.VFSXmlWebApplicationContext</param-value>
</context-param>
同时如下配置也将导致spring无法加载:
<!-- 加载Spring配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext*.xml</param-value>
</context-param>
其中classpath*:applicationContext*.xml,将会报错,提示无效的表达式,修改成:classpath:applicationContext.xml即可,若有多个,可以在applicationContext.xml进行引入!
以上是我在移植时遇到的问题,记录下来方便大家查阅,希望后来的人不要被这几个问题纠结,同时也欢迎大家批评指正以及贴出自己遇到的问题及解决方案!