2011-05-29 78 views
8

我正在開發一個java應用程序,使用我正在通過JNA訪問的32位本地庫。在MacOS X Snow Leopard上,可以將參數「-d32」傳遞給JVM,從而使JVM以32Bit模式啓動。我有一個啓動程序,它設置了一些環境變量,然後啓動主應用程序。如果程序在MacOS上執行,這也是決定使用-d32開關啓動主應用程序的地方。32位本地代碼,JNA和64位JVM

所以這裏是我的問題:有沒有類似的方法來解決這個在Windows或Linux?

這將是最好的,如果有可能在32位模式下運行64位JVM。但我並不是真的害怕告訴我的用戶安裝額外的32位JVM,這不是問題。問題是,我必須告訴我的啓動器應用程序在哪裏可以找到32位JVM,因爲PATH變量中的第一個可能是64位。

由於提前,

aRestless

+1

在linux上,至少您可以將-d32(或-d64)傳遞給JVM啓動器,以告訴它使用32位(或64位)JVM,就像在OSX上一樣。我會想象Windows會是類似的 – 2011-05-29 18:38:50

回答

4

如果捆綁與應用程序的32位JVM,它可以運行完全獨立的任何安裝JRE和系統路徑。這是Java SE 6允許的:http://java.sun.com/javase/6/jdk-6u2-license.txt。您也可以通過加載jvm.dll來啓動JVM,因此只顯示任務管理器中的啓動器映像。如果您使用WinRun4J,甚至可以避免編寫本機啓動器:http://winrun4j.sourceforge.net/

希望有所幫助!

+0

同意,在一個更大的安裝的代價,這解決了很多與我的經驗JVM版本的頭痛。 – 2012-01-30 16:25:05