Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.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 1.7中工作_Java_Eclipse_Jsp_Javac - Fatal编程技术网

菱形运算符(<;>;)不在java 1.7中工作

菱形运算符(<;>;)不在java 1.7中工作,java,eclipse,jsp,javac,Java,Eclipse,Jsp,Javac,编译jsp文件时出现以下错误: 源级别低于1.7时不允许使用“”运算符 我使用的是jdk1.7.x和eclipse开普勒 此外,我在Eclipse的项目首选项中将1.7设置为符合性级别,但代码仍然不起作用 我应该添加任何其他配置吗?检查Eclipse中的以下区域: 右键单击项目>属性>项目方面>Java>版本1.7 右键单击项目>属性>Java构建路径>库>JRE库应为1.7 右键单击项目>属性>Java编译器>编译器遵从性级别 窗口>首选项>服务器>运行时环境>选择服务器>编辑>确保JRE设置

编译jsp文件时出现以下错误:

源级别低于1.7时不允许使用“”运算符

我使用的是
jdk1.7.x
和eclipse开普勒 此外,我在Eclipse的项目首选项中将
1.7设置为符合性级别
,但代码仍然不起作用


我应该添加任何其他配置吗?

检查Eclipse中的以下区域:

  • 右键单击项目>属性>项目方面>Java>版本1.7

  • 右键单击项目>属性>Java构建路径>库>JRE库应为1.7

  • 右键单击项目>属性>Java编译器>编译器遵从性级别

  • 窗口>首选项>服务器>运行时环境>选择服务器>编辑>确保JRE设置为1.7


  • 因此,现在看来唯一的方法是将应用程序服务器(例如tomcat)配置为低于1.7的jdk版本。检查系统上的java_HOME环境变量指向的java版本。如果您更正了这一点,它应该可以解决您的问题。

    我知道该线程自上次激活以来已经超过2年了,但如果有人正在寻找答案,而上面的检查无法解决问题:这是因为您运行的tomcat编译器的版本早于1.7。解决此问题的一种方法是将其添加到tomcat/conf/web.xml中:

    <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>                                    <!-- this should be added -->
          <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>                                   <!-- last added line -->
      <load-on-startup>3</load-on-startup>
    </servlet>
    
    
    jsp
    org.apache.jasper.servlet.JspServlet
    叉
    假的
    xpoweredBy
    假的
    编译器资源虚拟机
    1.7
    编译器目标
    1.7
    3.
    

    是否将1.7设置为您的运行时环境?这不称为“列表运算符”。它更像是“推断的泛型类型”。显然你没有将编译器/环境设置为1.7。我可以知道它应该设置在哪里吗?严格地说,它被称为菱形运算符,不仅适用于列表。谢谢你的回答,但它仍然不起作用。。上述所有属性都设置为1.7.0搙只是为了说明一些事情,如果将代码放在类中而不是JSP会抱怨吗?还请确保您指向正确的JDK<代码>窗口>首选项>Java>已安装的JRE。只需确保它指向安装了1.7的文件夹。使用简单类可以正常工作。。尽管我认为应用服务器运行在JRE/JDK的早期版本上,但JSP文件仍然存在问题。您的类路径上是否设置了旧版本或为java home指定了旧版本?请添加一些文本来解释此答案如何帮助OP解决当前问题,而不是将链接作为答案发布。谢谢