2015-10-28 79 views
17

我正在嘗試爲WinXP 32位系統構建JavaFX應用程序(本地程序包)。無法在WinXP 32位上爲JavaFX應用程序構建本地程序包

我已經部署了一個WinXP 32位虛擬機。還安裝了JDK(JDK-8u65-Windows的i586系統)和InnoSetup和Netbeans 8.0.2 ...

但是當我試圖打包作爲一個.EXE程序我得到:

Exception: java.io.IOException: Cannot run program "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\iconswap2855415551655584734.exe": CreateProcess error=193, %1 is not a valid Win32 application 
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3415: The following error occurred while executing this line: 
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3438: The following error occurred while executing this line: 
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:1465: The following error occurred while executing this line: 
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3093: The following error occurred while executing this line: 
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:2055: Error: Bundler "EXE Installer" (exe) failed to produce a bundle. 
BUILD FAILED (total time: 35 seconds) 

是我的設置好嗎?我錯過了什麼嗎?

我認爲,爲了建立WinXP32 JavaFX應用程序我應該只:

  • 打造成爲一個類似(WinXP32)機
  • 使用X86 JDK版本上

然而這似乎不夠!

+0

其實我想也建立一些擠滿了NetBeans中的JavaFX的樣本,我也收到了同樣的錯誤 – thanili

+0

我也試圖與JDK 7 32位版本沒有成功。我很想知道我錯過了什麼...... – thanili

+4

當前版本的JavaFX不支持Windows XP。 (或者實際上是由Microsoft繼續。) –

回答

0

嘗試使用launch4j構建.exe文件。

您必須將項目導出爲「runnable jar」(在eclipse中)。

在launch4j中,您選擇了輸出文件和輸入文件。您甚至可以將JRE路徑捆綁到它,或者設置最小/最大JRE版本。

-1

什麼是項目運行時java版本是32位?如果不是你需要使用32位jdk來構建項目。

1

這個問題聽起來像是你試圖將jar檔案(或所有.class文件)打包到一個exe檔案中。 我的答案是基於這個假設,並試圖解釋和擴展來自nextcard的答案。如果我誤解了你的問題,我很抱歉。此外,我很抱歉對我的鏈接不好的格式。我不允許發佈多個鏈接。只要我有十個聲望,我會糾正這一點。

Java不是一種編譯語言。這意味着.class文件或jar文件不可執行。每個Java程序都需要使用通常稱爲java的JIT(即時編譯器)來啓動。 系統能夠執行jar檔案,如果你點擊它們是因爲它知道它必須在文件名之前添加「java -jar」才能夠做某事。

如果您希望將java程序作爲系統依賴項可執行文件,那麼您必須使用AOT(超前時間)編譯器。那些產生真正的字節碼系統能夠解釋本身的影響無關虛擬機的Java程序在正常運行的另外一個可能性是包裝與launch4j罐子(已被nextcard提及)

包裝:

AOT-編譯器:

  • vmkit.llvm.org
  • gcc。gnu.org/java/
  • www.excelsiorjet.com
+0

我的問題與JavaFX(Netbeans IDE)提供的本地.exe打包選項有關。這似乎只適用於Win 64位系統。謝謝! – thanili

相關問題