4

我正在尝试运行.jsp我制作的页面并不断遇到此错误:

类型异常报告

消息内部服务器错误

描述 服务器遇到一个内部错误,阻止它完成这个请求。

例外

org.apache.jasper.JasperException:PWC6033:JSP 的 Javac 编译出错

PWC6197:jsp 文件中的第 27 行发生错误:/Drupalcheck.jsp PWC6199:生成的 servlet 错误:-source 1.5 不支持 diamond 运算符(使用 -source 7 或更高版本启用 diamond 运算符)

note 异常的完整堆栈跟踪及其根本原因可在 GlassFish Server Open Source Edition 4.0 日志中找到。

问题是我不知道为什么我会得到它。我将库下的 JDK 设置为 1.7,源代码下的源/二进制格式设置为 JDK 7。

我使用 Netbeans 作为我的 IDE。

我已经完成了从重新安装 Java 到重新安装 Netbeans 的所有工作,但一无所获。

4

1 回答 1

11

在我看来,这与 Netbeans 无关,而是与使用的应用程序服务器有关。怀疑您使用的是GlassfishTomcat,因为它们与 Netbeans 7 捆绑在一起。

我对Apache Tomcat 也有同样的问题,归结为 Tomcat(Apache Jasper 库)默认使用 Java 1.6 进行 JSP 编译。您必须更改 JSP servlet 的默认配置web.xml。我在应用程序中添加了以下几行web.xml注意两个参数compilerSourceVMcompilerTargetVM

<!-- Jasper JSP configuration -->
<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.7</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.7</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

<!-- The mappings for the JSP servlet -->
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>*.jspx</url-pattern>
</servlet-mapping>
于 2013-11-25T13:51:05.850 回答