[英]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.