您的位置:首页 > 运维架构 > Tomcat

(转)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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: