Java 无法让Glassfish编译JSP';他正在使用版本7
我有一个遗留应用程序,我正在从WebSphere迁移到运行在Glassfish服务器上的Liferay 我在尝试将应用程序部署到Glassfish时出错: *org.glassfish.deployment.common.DeploymentException:JSP编译错误:org.apache.jasper.jaspereException: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或更高版本启用菱
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或更高版本来启用菱形运算符)。所有这些都在原始问题中描述。