2009-12-20 133 views
4

我刚刚安装了ant和JDK 6,并试图运行一个ant任务。我收到以下内容:试图运行蚂蚁 - 获取错误

C:\Users\Giles Roadnight\workspace\Parsley\build>ant compile_spicelib_complete_flex 
Buildfile: build.xml 
compile_spicelib_complete_flex: 
[exec] Error loading: C:\Program Files\Java\jdk1.6.0_17\jre\bin\server\jvm.dll 
[exec] Result: 6 

BUILD SUCCESSFUL 
Total time: 0 seconds 
C:\Users\Giles Roadnight\workspace\Parsley\build> 

该文件 - jvm.dll肯定存在。我曾尝试以管理员身份运行,结果相同。

要安装我运行JDK安装程序(我已经安装了JRE),我在我的环境变量中设置了JAVA_HOME。 我解压蚂蚁,并将我的蚂蚁bin目录添加到我的路径。

我对Java一无所知,它是如何工作的,所以我有点失落。

我在64位Windows 7上。我下载了一个64位的JDK。

任何帮助非常感谢。

+0

请尝试运行'蚂蚁--projecthelp'或类似的东西来创建一个简单的测试案例! – 2009-12-20 12:50:57

+1

另外,请尝试*不*设置JAVA_HOME。 ant.bat应该足够聪明,无需帮助即可找到您的jvm。 (这不是一个修复,只是为了获得关于该问题的更多信息) – 2009-12-20 12:56:22

+0

首先,请尝试'java -version'运行没有错误。 – tangens 2009-12-20 12:58:22

回答

4

它看起来好像蚂蚁脚本正在运行一个本地程序,它反过来试图加载JVM来运行一些java代码,并失败。我猜测32位和64位之间是不匹配的。根据这个理论,你试图运行的软件包使用32位Windows可执行文件,该文件无法将LoadLibrary转换为64位JVM DLL。

一个更简单的可能的解释是,Java Universe中的许多事情都被路径名上的空格弄糊涂了。尝试在没有嵌入空格的路径名中安装JDK。

+0

这对我来说是个问题。我下载了32位JDK并将其安装在不同的目录中。请务必取消选择安装公共JRE的选项,否则它可能会弄乱您的系统 – Kip 2012-12-10 19:11:53

0

让我感到意外的第一部分是它尝试使用服务器JVM而不是常规服务器,但这可能是您构建的一项功能。我想尝试的第二件事是运行ant -v而不是简单的蚂蚁。这应该会给你更多的输出,并希望获得更多关于蚂蚁正在尝试做什么的信息。

2

您可以通过创建在flex-SDK bin目录下一个bat文件与解决这个问题如下:

"%JAVA_HOME%\bin\java.exe" -Xmx384m -Dsun.io.useCanonCaches=false -jar "%~dp0\..\lib\mxmlc.jar" +flexlib="%~dp0\..\frameworks" %* 

然后调用这个bat文件,而不是mxmlc.exe

注:在找到解决方案https://web.archive.org/web/20120327204229/http://sray.squidpower.com/2010/01/13/solution-to-error-running-mxmlcexe-with-windows-64bit-jvm/

+0

作为警戒注意事项:截至2012年7月18日,Google安全浏览功能正在对上述URL进行警告,我没有试图进一步处理大量的谨慎。 – darpified 2012-07-18 17:40:40

11

您必须将您的flex解压缩到某个文件夹。我将这个文件夹称为flex_sdk。

将flex_sdk添加到FLEX_HOME环境变量(如有必要,创建环境变量)。 Flex编译器需要32位JRE,因为目前不支持64位JRE。为此,首先下载一个32位(或X86)版本的jdk,稍后将flex sdk指向它。为此,您需要编辑位于FLEX_HOME \ bin中的jvm.config文件。在jvm.config,如图java.home设置为您的32位JDK的位置(请注意,这些都不是反斜杠)

例:java.home=C:/Program Files (x86)/Java/jdk1.6.0_25另外,您还可以与名称添加一个环境变量JAVA_HOME和有它指向上述位置,如果你无法找到jvm.config文件。

/我有同样的问题,并在这几天研究。尝试了100多个类路径和加载了损坏的注册表问题。上述解决方案似乎适用于我。让我知道,如果你的作品以及/

-Prasadķ