Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法让Glassfish编译JSP';他正在使用版本7_Java_Jsp_Jakarta Ee_Servlets_Glassfish - Fatal编程技术网

Java 无法让Glassfish编译JSP';他正在使用版本7

Java 无法让Glassfish编译JSP';他正在使用版本7,java,jsp,jakarta-ee,servlets,glassfish,Java,Jsp,Jakarta Ee,Servlets,Glassfish,我有一个遗留应用程序,我正在从WebSphere迁移到运行在Glassfish服务器上的Liferay 我在尝试将应用程序部署到Glassfish时出错: *org.glassfish.deployment.common.DeploymentException:JSP编译错误:org.apache.jasper.jaspereException: PWC6033:JSP的Javac编译中出错 PWC6199:生成的servlet错误: 源代码1.5中不支持菱形运算符 (使用-源7或更高版本启用菱

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

我在尝试将应用程序部署到Glassfish时出错:

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


PWC6033:JSP的Javac编译中出错

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

PWC6199:生成的servlet错误: 在-source 1.5中不支持使用资源进行尝试 (使用-source 7或更高版本以启用资源试用)

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

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


--PWC6033:JSP的Javac编译中出错 PWC6199:生成的servlet错误: 源代码1.5中不支持菱形运算符 (使用-源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> 

保留生成的servlet类的java代码的副本。
这在我的本地机器上立即解决了问题,但在我们正在运行的测试服务器上却没有。
我在任何地方都看不到这方面的具体解决方案。请提供帮助:)

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

为了进行诊断,我创建了一个简单的单页应用程序,其中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> 

GlassFish JSP页面
你好,世界!

选择了Precompile选项后,即使使用

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


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

测试服务器上的错误消息是什么?PWC6033:JSP的Java编译错误PWC6199:生成的servlet错误:菱形运算符在-source 1.5中不受支持(使用-source 7或更高版本来启用菱形运算符)。所有这些都在原始问题中描述。