java - 如何为 Ivy/Ant 指定 Eclipse 的 java.home 设置

标签 java eclipse ant ivy

在 Eclipse 中通过 IvyDE 运行 ivy resolve 时,其中包含执行 javac ant 任务的 packager.xml,我得到以下信息:

Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jdk1.6.0_22\jre" at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:108)

在 eclipse.ini 中我有

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe

并在帮助 - 关于 Eclipse - 安装详细信息 - 配置我看到了

java.home=C:\Program Files\Java\jdk1.6.0_22\jre

如何让 java.home 指向 C:\Program Files\Java\jdk1.6.0_22

最佳答案

Eclipse 在内部使用它自己的 javac 实现。因此,对于大多数用途,您只需要一个兼容的 JRE。但是 ANT 中的 javac 任务考虑 JAVA_HOME 或检查本地 path多变的。在 Windows 机器上,作为临时修复,您可以执行以下操作:

Open a command prompt 然后输入 SET path=C:\Program Files\Java\jdk1.6.0_22\;%path%按回车 然后输入 <eclipsehome>\eclipse.exe

现在,从您的 eclipse 生成的任何进程都将在路径变量中包含您的 JDK 版本。

永久解决方案.. 1. go to advance system setting 2. 选择advanced标签 3. 选择environment variables 4.修改系统path变量和 JAVA_HOME(如果需要)

你可以为 *nix 系统做类似的事情(只需检查如何在它们上设置环境设置)

希望这会奏效。

更新

PROJECT 类路径与 ANT 类路径不同。要设置 Ant 类路径,请导航至 window->preferences->ant->runtime这里检查是否Global Entries指向 C:\Program Files\Java\jdk1.6.0_22\lib\tools.jar如果没有,则添加它。通常它适用于大多数 Ant 要求 javac 任务的情况。如果失败,请检查其他脚本是否未重置您的 JAVA_HOME 变量和 ANT global entries设置。

如果 IvyDE 没有使用与 eclipse 捆绑在一起的 ANT 作为插件(并引用​​一些标准安装),或者如果您已经定义了像 ANT_HOME 这样的环境变量,那么复制 tools.jar来自 C:\Program Files\Java\jdk1.6.0_22\lib\ 的文件至 ANT_HOME\lib .

另请查看之前的 SO 帖子 ( Ant can't find Javac. No matter what I do it always claims JAVA_HOME is "C:\Program Files\Java\jre6" )

更新 2 好的.. 检查此页面... http://ant.apache.org/ivy/ivyde/history/latest-milestone/preferences.html

Order of the classpath entries: By default, the classpath container entries are ordered by order of declaration in the ivy.xml. When there are many entries, it can be useful to have them ordered lexically for enhanced readability.

tools.jar出现在 ivy.xml ?请检查一次。

关于java - 如何为 Ivy/Ant 指定 Eclipse 的 java.home 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300416/

相关文章:

java - 如何将 SVN 项目作为 Java 项目 checkout 到 Eclipse 中?

java - 如何使用 Scanner 从数据文件中读取 double 并将其转换为数组?

java - 在通话期间运行 SpeechRecognizer

java - 检查 Java 字符串实例是否可能包含垃圾邮件数据的最简单方法

java - Hibernate 返回错误 "Class path must be set or restored default"

java - 类文件编辑器未找到冗余源

java - 过渡 fragment 调用退出过渡但动画没有发生

java - XML 设计编辑器错误

java - 将 Ant 路径复制到 WAR 的 lib 目录

源文件丢失时 ant 复制任务挂起