代码之家  ›  专栏  ›  技术社区  ›  Veera

在Eclipse中使用Ant时,运行javac.exe编译器消息时出错

  •  29
  • Veera  · 技术社区  · 16 年前

    当我在Eclipse中运行我的Ant构建时,我得到以下错误消息,Ant构建失败了。

    错误消息: 运行javac.exe编译器时出错

    生成停止的行:

    <javac destdir="${classes.home}" debug="on" fork="true" memoryinitialsize="512M" memorymaximumsize="1G">
            <classpath refid="classpath"/>
            <src path="${source.home}"/>
    </javac>
    

    以前有人遇到过类似的问题吗?或者有人知道这里出了什么事吗?

    系统信息:EclipseHelio,JDK1.5

    16 回复  |  直到 16 年前
        1
  •  57
  •   Community Mohan Dere    9 年前

    我也遇到了同样的问题,问题是,在eclipse中java.home指的是JRE而不是JDK。我改了,建造成功了。可以执行以下操作将其更改为JDK:

    首选项>爪哇>已安装的JRE>添加。。。对于“JRE类型”,选择“Standard VM”>下一步>目录:选择JDK目录(而不是JRE)(在我的例子中是:C:\Program Files\Java\jdk1.6.0\U 16),按OK。

    现在,您又回到“Installed JRE”了,在这里也选择JDK。

    下面的帖子有助于找到解决办法。 JAVA_HOME points to the wrong place

        2
  •  47
  •   aram063    13 年前

    这应该能解决问题。

        3
  •  22
  •   Avinash    14 年前

        4
  •  7
  •   Impiastro    16 年前

    也许javac问题是因为“javac.exe”不在您的系统路径中,请编辑您的系统路径并将您的JDK的/bin目录添加到其中以更正此问题。

    打开shell或命令提示符并尝试键入:javac以检查系统路径是否设置正确。

        5
  •  4
  •   pall    14 年前

    将eclipse配置为指向JDK而不是JRE对我来说不起作用。 fork <javac> 标签。

        6
  •  4
  •   Community Mohan Dere    9 年前

    我也面临着同样的问题,这是我的建议,也许它会帮助别人。
    事实上,信息 Error running javac.exe compiler 意味着出了问题。问题是,到底是什么。当蚂蚁跑的时候 javac 任务 fork="true" 标志,它不会打印任何错误详细信息。在我的情况下,即使我添加了 verbose="true" here . 解决办法是 添加 -冗长的 Ant命令行的标志 :

    ant -verbose
    

    在此之后,Ant开始打印完整的错误消息,这样您就可以解决问题了。

        7
  •  2
  •   dko    8 年前

    但是右击 设置 Java运行时环境(JRE) Jave开发工具包(JDK) 为我工作。

    Abhi Rampal's answer 一步一步解决问题的方法和我在eclipse上解决问题的方法是一样的。

    转到运行->外部工具->外部工具配置->在左侧菜单中选择build.xml->选择JRE选项卡->选择JDK(从下拉列表中)作为单独的JRE单选按钮选项->单击运行。

        8
  •  1
  •   Community Mohan Dere    9 年前

    我通过在Windows7中检查环境变量来解决这个问题。我发现了 指向C:\ 程序文件(x86) \Java\jdk1.6.0\u 31当它应该是C时:\ \Java\jdk1.6.0\U 31。如果你想知道 read this

        9
  •  1
  •   Kannan    11 年前

    如果您在eclipse中运行ant,请单击runas-->然后选择第二个选项,选择jdkpath并再次运行构建。

        10
  •  0
  •   fuwaneko    16 年前

    尝试将memorymaximumsize=“1G”更改为memorymaximumsize=“512M”。

        11
  •  0
  •   knb    14 年前

    尝试释放一些主内存。关闭内存不足的程序,并尽可能停止内存不足的进程。

        12
  •  0
  •   Ahmed Hamdy    12 年前

    我什么都试过了,但在我准备好之前什么都不管用( fork='no' 或fork='false'在你的情况下)和工作为我完美

        13
  •  0
  •   Scala Enthusiast    12 年前

    我删除了fork=“true”并通过了那段代码。有这个问题的人可能会感兴趣的是,现在,在那一行,我得到了输出:

    'Since fork is false, ignoring memoryMaximumSize setting.'
    

        14
  •  0
  •   Mark    12 年前

    我的Java主文件夹路径错误。应该是的 C:\Program Files (x86)\Java\jdk1.5.0_15 C:\Program Files (x86)\Java\jdk1.5.0_15\bin

        15
  •  0
  •   Community Mohan Dere    9 年前

    研究

    经过一些研究,我们发现类路径可能太长了。 我们在windows机器上本地重新创建了确切的文件夹结构,遇到了同样的问题,我们发现类路径太长(我们使用了-v和-d来详细说明它有多长),这就是错误的原因。

    解决方案是创建一个jar,其中只包含包含所有库的清单,请参阅 this answer 更多细节

        16
  •  0
  •   Devashish Priyadarshi    7 年前

    我在主库中有多个库目录。而类路径包含了所有这些命令,导致javac命令变得太长。

    我删除了那些目录,它对我起了作用。

        17
  •  0
  •   Talha Shahab    5 年前

    这是一个非常简单的问题。基本目录路径指向指向实际文件夹的许多子文件夹。例如: /folder1/folder2/../…/folderN/{project}

    减少基本目录路径的大小,它将很容易编译。 D:/{项目}

    以后谢谢我。

        18
  •  0
  •   Talha Shahab    5 年前

    大多数情况下,项目文件夹的长路径会导致生成失败。即使在从命令行运行时,也总是会发现这一点。只需缩短路径即可:

    ant命令肯定会编译javajdk。