Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在尝试运行ant-getting错误_Java_Ant - Fatal编程技术网

Java 正在尝试运行ant-getting错误

Java 正在尝试运行ant-getting错误,java,ant,Java,Ant,我刚刚安装了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\jv

我刚刚安装了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>
"%JAVA_HOME%\bin\java.exe" -Xmx384m -Dsun.io.useCanonCaches=false -jar "%~dp0\..\lib\mxmlc.jar" +flexlib="%~dp0\..\frameworks" %*
这个文件-jvm.dll肯定在那里。我曾尝试以管理员身份运行,但结果相同

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

我对Java以及它是如何工作的一无所知,所以对此我有点不知所措

我使用64位windows 7。我下载了一个64位JDK


非常感谢您的帮助。

在我看来,ant脚本似乎正在运行一个本机程序,而本机程序又试图加载JVM以运行一些java代码,但失败了。我猜32位和64位之间存在不匹配。从这个理论上讲,您试图运行的包使用的是32位Windows可执行文件,该文件无法加载64位JVM DLL库


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

让我吃惊的第一部分是,它尝试使用服务器JVM而不是常规JVM,但这可能是您构建的一个功能。我要尝试的第二件事是运行
ant-v
,而不是运行普通的ant。这将为您提供更多的输出,并希望提供更多关于ant此时正在尝试执行的操作的信息。

您可以通过在flex sdk bin目录中创建一个bat文件来解决此问题,该文件包含以下内容:

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>
"%JAVA_HOME%\bin\java.exe" -Xmx384m -Dsun.io.useCanonCaches=false -jar "%~dp0\..\lib\mxmlc.jar" +flexlib="%~dp0\..\frameworks" %*
然后调用此bat文件,而不是mxmlc.exe


注意:在

找到解决方案,您必须已将flex解压缩到某个文件夹。我将此文件夹称为flex_sdk

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

示例:
java.home=C:/ProgramFiles(x86)/java/jdk1.6.0_25
或者,您也可以添加一个名为
java_home
的环境变量,如果找不到jvm.config文件,则将其指向上述位置

/我也有同样的问题,为此研究了几天。尝试了100个类路径和大量损坏的注册表问题。上述解决方案似乎对我有效。让我知道它是否也适合你/


-Prasad K

请尝试运行
ant--projecthelp
或类似的程序来创建一个更简单的测试用例!另外,请尝试不要将JAVA_设置为HOME。bat应该足够聪明,可以在没有帮助的情况下找到jvm。(这不是修复程序,只是为了获得有关问题的更多信息)首先,如果
java-version
运行时没有错误,请尝试。请提供
ant-debug compile\u spicelib\u complete\u flex
的相关输出。作为警告:谷歌安全浏览从2012年7月18日起就在上述URL上发出警报,出于谨慎,我没有再继续下去。这是我的问题。我下载了32位JDK并将其安装在不同的目录中。请务必取消选中安装公共JRE的选项,否则可能会弄乱您的系统