2009-12-20 110 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ķ