(转)Tomcat迁移JBoss杂症—不识别及不能解析web.xml
2016-10-20 14:26
531 查看
本文介绍了在将tomcat下的web工程迁移到jboss下面时遇到的问题
背景:
Tomcat 7.0
JBoss AS 4.2.2
IED: Eclipse Java EE IDE for Web Developers. Version: Luna Release (4.4.0)
问题一:不能添加项目到JBoss里
1.原因及解决办法:
如果在tomcat下面创建的web项目是基于Dynamic Web Module 3.0,JBoss是不支持2.5以上的,所以需要在project属性的project facets中修改Dynamic Web Module的版本的2.5,然后你就以为行了么?too young
2.把target runtime 修改为JBoss的实例server.
3.修改你的web.xml,开始用3.0的时候生成的web.xml,里面的dtd等文件是3.0版本的,现在需要改成2.5版本。
如下:
[java] view plain copy
print?
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
注意不要在>前面加“/”哦,注意要在文件最后加上</web-app>哦。
保存。
4.刷新项目,然后就可以添加到JBoss里面了,如果幸运,就可以跑起来了,欢快地跑。如果还有问题,往下看~
问题二:JBoss报错:不能解析web.xml
1.错误代码:
[html] view plain copy
print?
org.jboss.deployment.DeploymentException: Failed to parse WEB-INF/web.xml; - nested throwable: (org.jboss.deployment.DeploymentException: expected only one url-pattern tag)
这是啥问题?expectd only one url-pattern tag,期待只有一个url标签。
2.检查web.xml,发现里面一个servlet的定义使用了一个servlet对应多个url,所以出现这个问题。(但是tomcat是认可的 。)
原:
[html] view plain copy
print?
<!-- 配置一些静态文件 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
拆开写,改为:
[html] view plain copy
print?
<!-- 配置一些静态文件 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
3.然后就妥妥的跑起来了。
摘自:http://blog.csdn.net/aitcax/article/details/41649219
背景:
Tomcat 7.0
JBoss AS 4.2.2
IED: Eclipse Java EE IDE for Web Developers. Version: Luna Release (4.4.0)
问题一:不能添加项目到JBoss里
1.原因及解决办法:
如果在tomcat下面创建的web项目是基于Dynamic Web Module 3.0,JBoss是不支持2.5以上的,所以需要在project属性的project facets中修改Dynamic Web Module的版本的2.5,然后你就以为行了么?too young
2.把target runtime 修改为JBoss的实例server.
3.修改你的web.xml,开始用3.0的时候生成的web.xml,里面的dtd等文件是3.0版本的,现在需要改成2.5版本。
如下:
[java] view plain copy
print?
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
注意不要在>前面加“/”哦,注意要在文件最后加上</web-app>哦。
保存。
4.刷新项目,然后就可以添加到JBoss里面了,如果幸运,就可以跑起来了,欢快地跑。如果还有问题,往下看~
问题二:JBoss报错:不能解析web.xml
1.错误代码:
[html] view plain copy
print?
org.jboss.deployment.DeploymentException: Failed to parse WEB-INF/web.xml; - nested throwable: (org.jboss.deployment.DeploymentException: expected only one url-pattern tag)
这是啥问题?expectd only one url-pattern tag,期待只有一个url标签。
2.检查web.xml,发现里面一个servlet的定义使用了一个servlet对应多个url,所以出现这个问题。(但是tomcat是认可的 。)
原:
[html] view plain copy
print?
<!-- 配置一些静态文件 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
拆开写,改为:
[html] view plain copy
print?
<!-- 配置一些静态文件 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
3.然后就妥妥的跑起来了。
摘自:http://blog.csdn.net/aitcax/article/details/41649219
相关文章推荐
- Tomcat迁移JBoss杂症—不识别及不能解析web.xml
- tomcat不能解析带有命名空间的web.xml中的servlet
- tomcat解析(十四)web.xml解析
- WEB.XML设置错误,导致TOMCAT不能正常启动
- Tomcat启动解析web.xml源码分析
- tomcat配置文件web.xml与server.xml解析--重要
- 关于web.xml中不能识别taglib的问题
- eclipse生成的web项目在resin服务器上的发布(不能解析web.xml)
- 关于web.xml中不能识别taglib的问题
- 启动tomcat服务时,报解析/WEB-INF/applicationContext.xml异常或找不到该文件
- tomcat配置文件web.xml与server.xml解析--重要
- 【转】关于web.xml中不能识别taglib的问题
- web.xml文件解析,以及tomcat启动常见错误总结一哈。
- Tomcat7 web应用的加载原理 (二) web.xml解析
- 关于web.xml中不能识别<taglib>的问题
- tomcat配置文件web.xml与server.xml解析--重要
- web.xml文件解析,以及tomcat启动常见错误总结一哈。
- myeclipse 与Eclipse web工程相互导入部署问题解决---Tomcat 不能识别工程总结
- 死磕Tomcat7源码之一:解析web.xml
- java web程序中web.xml文件中servlet-name、url-pattern的值不能与映射的类名一致,否则tomcat启动不了,报错误: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Servlet_day02]]