ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 无法使用版本7使Glassfish编译JSP

2019-07-03 11:51:04  阅读:191  来源: 互联网

标签:java jsp servlets java-ee glassfish


我有一个遗留应用程序,我正在从Glass迁移到运行在Glassfish服务器上的Liferay.

尝试将应用程序部署到Glassfish时,我遇到了错误:

* org.glassfish.deployment.common.DeploymentException:JSP编译错误:org.apache.jasper.JasperException:

PWC6033:JSP的Javac编译出错

PWC6199:生成的servlet错误:
-source 1.5不支持菱形运算符
  (使用-source 7或更高版本启用钻石运算符)

PWC6199:生成的servlet错误:
-source 1.5不支持try-with-resources
  (使用-source 7或更高版本启用try-with-resources)

PWC6199:生成的servlet错误:
某些输入文件使用未经检查或不安全的操作.

PWC6199:生成的servlet错误:
使用-Xlint重新编译:取消选中以获取详细信息.

– PWC6033:JSP的Javac编译出错
PWC6199:生成的servlet错误:
-source 1.5不支持菱形运算符
  (使用-source 7或更高版本启用钻石运算符)*

我在glassfish-web.xml中添加了一个部分:

<jsp-config> 
<property name="keepgenerated" value="true"> 
<description>Keep a copy of the generated servlet class' java code.</description> 
</property> 
<property name="compilerSourceVM" value="7"/> 
<property name="compilerTargetVM" value="7"/> 
</jsp-config> 

这在我的本地计算机上立即解决了,但在我们正在运行的测试服务器上没有解决.
我无法在任何地方看到具体的解决方案.请帮忙 :)

解决方法:

在Domain下的GlassFish管理控制台 – >应用程序配置有一个预编译JSP的选项(仅部署生成的类文件).
它在测试服务器上被选中,并且glassfish-web.xml中的指令被忽略.

为了诊断我创建了一个简单的1页应用程序,index.jsp看起来像这样:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.Map,java.util.List,java.util.ArrayList"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                       "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


        <title>GlassFish JSP Page</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    <%List <String> testerList = new ArrayList<>(); 
      testerList.add("hello");
    %>  
  </body>
</html> 

选择了Precompile选项后,它产生了可怕的PWC6033:Javac编译中的JSP错误,即使是

<property name="compilerSourceVM" value="7"/> 
<property name="compilerTargetVM" value="7"/> 

在glassfish-web.xml中设置.取消选择预编译选项后,可以在测试服务器上部署应用程序和页面,而不会出现错误.我相信这是一个GlassFish错误.

标签:java,jsp,servlets,java-ee,glassfish
来源: https://codeday.me/bug/20190703/1366207.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有