今天晚上在JSP中写了一句JDK1.7才支持的<>(diamond)代码,Deploy的时候居然出错了。看了一下Log文件。
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP PWC6199: Generated servlet error: 源值1.5已过时, 将在未来所有发行版中删除 PWC6199: Generated servlet error: 目标值1.5已过时, 将在未来所有发行版中删除 PWC6199: Generated servlet error: 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。 PWC6197: An error occurred at line: 12 in the jsp file: /WEB-INF/jsp/view/viewCart.jsp PWC6199: Generated servlet error: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:129) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:299) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:392)
感觉很奇怪,我用的JDK是1.8版本,GlassFish4.0也是支持JavaEE7的,理所应当起码支持JDK1.7的吧。怎么会出来1.5版本不支持的错误。仔细检查Maven依赖配置,也没发现问题。仔细看了一下Log,问题出在JSP编译的时候,莫非GlassFIsh用老的JDK版本编译的JSP?!网上搜了一下,GlassFish4.0果然用了JDK1.5编译了JSP。修改方法如下:
打开domain-dir/config目录下的default_web.xml文件,找到<servlet-name>jsp</servlet-name>标签,添加以下配置:
<init-param> <param-name>compilerSourceVM</param-name> <param-value>1.8</param-value> </init-param> <init-param> <param-name>compilerTargetVM</param-name> <param-value>1.8</param-value> </init-param>
重启GlassFish服务器,问题没有了。
然后又在Tomcat8.0上试了一下,也有相同的问题,只不过Tomcat8.0比GlassFish前进了点,默认用的是JDK1.6版本。修改方法和上面一样,只是web.xml所在目录不同。Tomcat的目录在conf下。
相关推荐
本文将详细介绍如何在Linux系统上安装JBoss 6.4和GlassFish 4.0服务器,同时涉及JDK的安装和配置。首先,我们需要理解JDK是Java开发工具包,是运行Java应用程序的基础。Oracle JDK是其中的一种版本,这里我们选择的...
《glassfish-ose-4.0 白皮书》是一份详尽的文档,它深入介绍了GlassFish 4.0服务器的各项特性和功能。GlassFish是Oracle公司开发的一款开源的应用服务器,基于Java EE(Java Platform, Enterprise Edition)标准,为...
在Glassfish 4.0版本中,配置工具提供了一个直观的界面,使得配置过程相对简便。开发者可以通过命令行工具或管理控制台进行配置,同时也支持通过XML配置文件进行精细调整。 4. **性能调优** "glassfish-...
maven-embedded-glassfish-plugin-4.0.jar
在这个压缩包中,"glassfish4"可能指的是Glassfish 4.0版本,这是JavaEE 7的参考实现。Glassfish 4.0引入了许多新特性和改进,比如增强的性能、对WebSocket的支持、更强大的CDI(Contexts and Dependency Injection...
maven-embedded-glassfish-plugin-4.0-sources.jar
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
在实际应用中,开发者可以将编译好的Java EE 6应用打包成WAR或EAR文件,部署到Glassfish服务器上,从而实现业务逻辑的运行。 总的来说,Glassfish 3.1.2.2作为Java EE 6标准的实现,是开发者构建、测试和部署企业级...
相比于Tomcat,GlassFish提供了更全面的Java EE(现称为Jakarta EE)支持,包括对Servlet、JSP、EJB、JMS、JPA等标准的全面实现,为开发企业级应用提供了强大后盾。 一、GlassFish 5.0 安装 1. 下载:首先,你需要...
解决这些问题需要检查 GlassFish 的配置文件和权限设置。 本文档提供了 GlassFish 安装、配置、与 Eclipse 集成和调试的详细指导。通过遵循这些步骤, readers 可以轻松地安装和配置 GlassFish 服务器,并将其与 ...
在这个例子中,我们看到有一个名为“glassfish3”的压缩包,这很可能是Glassfish 3.x版本的安装包。你需要解压这个文件到一个合适的目录,例如 `/opt/glassfish3`。 ### 安装与配置 1. **解压文件**: ``` sudo ...
遇到问题时,检查Glassfish的日志文件(位于`$GLASSFISH_HOME/logs`目录下),它们通常会提供错误信息。此外,社区论坛如Oracle官方论坛和ITEYE博客(如提供的博文链接)是寻找解决方案的好地方。 总结来说,...
GlassFish 2.0 是 Sun Microsystems 推出的一款免费且开源的 Java EE 服务器,它基于 Java Platform, Enterprise Edition (Java EE) 5规范,提供了包括EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB ...
2. **下载GlassFish安装包**:访问官方下载页面获取最新版本的GlassFish安装包。 #### 三、安装步骤 1. **解压安装包**: - 使用命令行工具,执行如下命令解压安装包: ``` java -Xmx256m -jar <filename>.jar ...
- **下载**: 访问官方网站下载最新版本的Glassfish V2安装包。 - **安装**: 使用命令行安装,确保系统中已安装了JDK 1.5或更高版本。执行命令 `java -Xmx256m -jar glassfish_filename.jar` 来安装Glassfish。 !...
标题《Glassfish集群搭建手册》指的是利用Oracle提供的Glassfish应用服务器软件进行集群配置的详细指南。此手册涵盖了在不同场景下通过图形化界面和命令行方式搭建集群的整个过程,并且描述了如何配置集群环境以支持...
1. **JDK 5或更高版本**:Glassfish要求系统环境中至少安装有JDK 5以上的版本。可以通过设置`JAVA_HOME`环境变量来指定JDK的位置。 2. **Ant 1.6.5**:除了JDK之外,还需要安装Ant工具,并且版本号应为1.6.5。这是...
4. **使用Ant配置Glassfish**:为了创建默认的域(domain),你可以通过Ant命令来操作。如果你计划设置集群,可执行`ant -f setup-cluster.xml`。否则,若不需集群功能,可以执行`ant -f setup.xml`来创建单个域。 ...
同时,也需要下载 GlassFish 的安装介质,版本为 v2.1.1-b31g-linux-ml.jar。下载地址为 https://glassfish.java.net/zh/downloads/v2.1.1-final.html。 在准备工作中,还需要安装 JDK,版本为 jdk1.5.0_22,并将其...
1. **Java EE开发**:文档会深入讲解如何使用GlassFish支持的Java EE技术栈,包括Servlet、JSP、JSF(JavaServer Faces)、EJB、CDI(Contexts and Dependency Injection)、JPA(Java Persistence API)等。...