繁体   English   中英

Eclipse为什么不使用Java 1.5编译我的代码?

[英]Why won't Eclipse compile my code in java 1.5?

我已经安装了Eclipse 3.5.2和Java 6的JDK。

这是我在Eclipse中安装的JRE

替代文字http://img806.imageshack.us/img806/3345/eclipsejres.jpg

我正在尝试使用ant构建文件进行编译,该文件的一部分如下所示,并指定了Java 1.5:

<target name="compile" depends="build-common, init" description="Compile files. ">
    <javac srcdir="${src_dir}" destdir="${build_dir}" debug="true" target="1.5" source="1.5">
        <classpath path="${tomcat_home}/lib/servlet-api.jar;${tomcat_home}/lib/log4j-1.2.15.jar;/usr/local/lib/portlet-api-1.0.jar;." />
    </javac>
</target>

但是,当我尝试编译时,控制台窗口显示以下错误:

compile:
    [javac] Compiling 1 source file to H:\jephperro\portlets\build
    [javac] javac: invalid target release: 1.5
    [javac] Usage: javac <options> <source files>
    [javac] where possible options include:
    [javac]   -g                        Generate all debugging info
    [javac]   -g:none                   Generate no debugging info
    [javac]   -g:{lines,vars,source}    Generate only some debugging info
    [javac]   -nowarn                   Generate no warnings
    [javac]   -verbose    ....

BUILD FAILED
H:\jephperro\portlets\CourseList-build.xml:25: Compile failed; see the compiler error output for details.

Total time: 531 milliseconds

我的Eclipse有什么问题?

有关详细信息,请参见编译器错误输出。

您可能依赖于使用比1.5 JDK更高的Java版本编译的库。

实际上,您的1.5 JDK在哪里? 我所看到的只是一个JRE。 我的猜测是,您只需要 下载1.5版JDK并将其添加到Eclipse中即可。

您可以在运行与java -version等效的ant的构建文件中创建一个任务,以便您了解由Eclipse启动的ant使用的Java编译器。

提示:您的默认JRE是1.6 JRE。 这对于运行代码很好,但对于编译则不行。 只有JDK包含外部编译所需的魔术(例如,由ant完成)。 Eclipse通过在其自己的代码中包含一个增量Java编译器来解决此问题(更神奇)。

多年之后,我仍然不完全了解Eclipse,ant和JDK是如何互操作的,所以也许您需要做一些试验。

运行Ant文件时,AFAIR Eclipse不会使用其自己的内部Java编译器。 检查您的本地路径,并尝试找出Ant调用了哪个javac。

“ javac:无效的目标版本:1.5”编译错误通常是由源/二进制级别不兼容引起的。 这意味着您正在尝试使用JDK 1.4或更低版本编译JDK 5的源代码级别。

Eclipse使用内置的Java编译器。 编译器实际遵循的级别取决于项目设置。 您可以配置每个项目的Java级别,也可以将其设置为全局级别的默认Java级别。

从菜单栏中,选择窗口->首选项。 选择Java-> Compiler首选项。 将编译器符合级别设置为5.0。

正如Saifuddin和其他人提到的那样,此错误很可能是由于未针对所需版本使用正确的Java编译器而引起的。 我注意到在您安装的JRE中,DevsuiteHome_1中有一个JDK,没有说什么版本。 也许蚂蚁正在使用那个?

这很容易检查。 您正在Eclipse中运行ant。 Ant具有其自己的配置设置,该配置设置可能不同于您的工作空间。 要检查Ant运行时正在使用的版本,请按照以下步骤操作:

运行->外部工具->外部工具配置->单击您的ant构建文件(如果您已经运行过一次,则应创建它;如果没有,则可以始终在此处创建它)->选择JRE选项卡->验证运行时使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM