eclipse build path与java Compiler

在eclipse中开发的项目有个java build path中可以配置的jdk,还有个java compiler中可以配置compiler level,这两个是有区别的,java compiler level的JDK版本是你在eclipse中开发代码,给你提示报错的和将java文件编译成class文件需要用到的版本;build path中版本号的作用是指明你将来运行的环境。

如果build path的版本低于compiler版本,则会报 Unsupported major.minor version 51.0(高版本的版本号,以jdk7为例)。

网上大部分文章说java compiler level和build path的作用与本人的不同。在他们的说明下,我在eclipse尝试过将compiler level设置成1.6,build path 设置成1.7,编写以下程序:

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        long test = 1234_5678_9012_3456L;  //jdk7新语法
        System.out.println(test);
    }

}

结果程序无法编译成功,eclipse提示错误,强制运行报以下错误

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    Underscores can only be used with source level 1.7 or greater

    at Test.main(Test.java:6)

即使将系统的java home设置成jdk7,用java命令跑也是报上述错误。

如果将compiler level设置成1.7,build path 设置成1.6,则eclipse不会报编写错误,但是run后,则会报Unsupported major.minor version 51.0错误。

时间: 2024-11-17 05:45:30

eclipse build path与java Compiler的相关文章

This compilation unit is not on the build path of java project 错误

今天从SVN上面检出了一个项目,在写代码的时候在输入  . 后就报 This compilation unit is not on the build path of java project 错误. 平常的项目 在输入  . 之后都会有相应的代码提示唯独这个就没有..感觉很是纠结,于是在网上找了很多资料.总算解决了. 首先打开自己项目的  .project 文件  ,如果在myeclipse里面找不到这个文件可以 ,ctrl+shift+R一起按,在弹出的框里面直接输入这个文件名字... 打开

Eclipse Build Path 的理解

概念---classpath class path是一个list,里面包含路径(directories )和jar包.用来组成一个应用程序.通常可以用环境变量classpath,或者命令行-cp指定 那么怎么理解Eclipse的build path呢. 首先,重要的一点,Eclipse 不使用环境变量的classpath,而是使用自己的一套规则来识别classes 列表.Eclipse 对编译时(Compile Time)和运行时(runtime)的class path是区分对待的,在Eclip

谈谈 classpath / Eclipse build path的理解

classpath的理解及其使用方式 原文地址:http://blog.csdn.net/wk1134314305/article/details/77940147?from=bdhd_site 安装了JDK或JRE的机器可以在这两个目录下面查看可以使用的命令(.exe .dll): C:\Program Files\IBM\SQLLIB\java\jdk\bin C:\Program Files\IBM\SQLLIB\java\jdk\jre\bin 摘要: classpath是Java运行时

A cycle was detected in the build path of project

解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle was detected in the build path of project: XXX” 解决方法非常简单: Eclipse Menu -> Window -> Preferences... -> Java -> Compiler -> Building -> Bu

Eclipse工程中Java Build Path中的JDK版本和Java Compiler Compiler compliance level的区别(转)

在这里记录一下在eclipse中比较容易搞混淆和设置错误的地方.如下图所示的功能: 最精准的解释如下: Build Path是运行时环境  Compiler是编译时环境  假设,你的代码用到泛型,Build Path环境为1.5,Compiler环境为1.4,那么会显示编译错误,无法编译:但是这样的web项目是可以在web容器中运行的,前提是你的容易支持1.5语法. Build Path里面是你的class文件的运行环境级别,非编译器需要使用到的,例如,如果用的1.4就不能使用泛型.而Compi

eclipse中build path 中JDK与java compiler compliance level的问题(转)

roject facets做什么用? http://baike.baidu.com/view/6257360.htm,其实我感觉,就是让我们在创建项目时候,可以独立定义一个有一个模板供我们使用,在里面定义各种用到服务的版本,你在导入从其他地方拿过来的项目时候,需要修改项目与project facets的编译环境一致. 牛人博客:(有详细解释jdk compile与build path) http://blog.csdn.net/shan9liang/article/details/1726651

eclipse:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 今天建立了一个Javaweb工程,并在eclipse中配置了Web容器Tomcat.JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bu

eclipse新建maven项目报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的解决方案

具体表现为: 使用Eclipse+Maven建立了一个Javaweb工程,JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path. 解决方法: 在pom.xml中的  <build></build>中  添加: <plugins> <!-- 编码和编译和JDK版本 --> <plug

Eclipse Java Build Path详解

Eclipse Java Build Path详解 1.设置"source folder"与"output folder". * source folder:存放.java源文件的根目录;    * output folder:.class编译输出的根目录:    * 纯“java project”中,一般把"src"设置为source folder,把bin设置为output folder:    * 在“web project”中,一般把&q