由jboss引发的 source level 问题

来源:互联网 发布:淘宝刷手处罚 编辑:程序博客网 时间:2024/06/01 07:41

项目使用jboss做应用服务器,使用的是JBOSS4版本,JDK使用1.6。开发程序可以正常运行,打成war包之后放在本地jboss下运行也很正常,但是将war包上传至测试服务器之后,可以正常启动服务器,但是打开一些页面是出现404错误。检查jboss的日志发现报如下错误:An error occurred at line: 4 in the jsp file: * Generated servlet error: Syntax error, parameterized types are only available if source level is 5.0

看到日志之后马上反应到是编译级别设置的问题,所以到IDE下查看了编译级别是6.0,应该是没有问题的,但为了保险起见,将其调整为5.0之后重新编译并打war包上传至服务器,经测试仍然不行,但似乎又没有听说过服务器会有编译级别的设置,为了这个问题纠结了一下午,到网上找各种资料,但大多都是调整IDE的编译级别的。最后再google上找到一篇帖子并按照里面的设置顺利解决了问题,其实很简单:将$JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/conf/web.xml中关于编译级别1.5设置的注释取消就可以了,如下:

      <!-- Uncomment to use jdk1.5 features in jsp pages
      -->
      <init-param>
         <param-name>compilerSourceVM</param-name>
         <param-value>1.5</param-value>
      </init-param>

另外,我服务器使用jboss的版本是4.0.5,本地使用的是4.2.3,所以我本地并没有出现这个错误。

希望这篇文章对碰到类似问题的朋友有所帮助!

下面是我找到的帖子:https://community.jboss.org/message/124717

原创粉丝点击