【问题标题】:How to specify Eclipse's java.home setting for Ivy/Ant如何为 Ivy/Ant 指定 Eclipse 的 java.home 设置
【发布时间】:2011-05-17 01:42:09
【问题描述】:

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

找不到 javac 编译器; com.sun.tools.javac.Main 不上 类路径。也许 JAVA_HOME 没有 指向JDK。目前已设置 到“C:\程序 文件\Java\jdk1.6.0_22\jre" 在 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

【问题讨论】:

    标签: java eclipse ant ivy


    【解决方案1】:

    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

    类路径条目的顺序:按 默认,类路径容器 条目按顺序排列 ivy.xml 中的声明。当有 有很多条目,它可以是有用的 让它们按词汇排序 增强可读性。

    tools.jar 是否存在于 ivy.xml 中?请检查一次。

    【讨论】:

    • 我已经在执行Eclipse的环境中正确设置了PATH和JAVA_HOME变量,但是没有注意到这一点。只有 -vm 设置似乎会影响 IvyDE 运行的 ant javac 任务使用的 JAVA_HOME 变量。
    • 再次感谢您的回复。我在 Eclipse 中的 ANT 类路径包括 tools.jar 条目。我可以很好地使用 javac 任务运行 Ant 构建脚本。不幸的是,当我通过 IvyDE 执行 ant javac 任务时,它仍然不起作用。一定与 IvyDE 启动 ant 的方式有关。我尝试将 tools.jar 放在 ANT_HOME\lib 中,但这也无济于事。
    • @tukushan:嗯……好吧……我已经更新了我的答案一次……检查它是否有帮助……
    • tools.jar 不在我的 ivy.xml 中,但我认为不应该是因为我的程序不需要 tools.jar。也许这可能有效,但我不知道如何在 ivy.xml 中指定 tools.jar。
    • @tukushan:看看这个页面...ant.apache.org/ivy/ivyde/history/2.0.0.beta1/cp_container.html .. 特别是Edit the container configuration 部分
    猜你喜欢
    • 1970-01-01
    • 2012-09-04
    • 2012-09-04
    • 2023-03-15
    • 2011-06-23
    • 2012-09-06
    • 2012-11-09
    • 2020-09-04
    • 2021-11-06
    相关资源
    最近更新 更多