2013-11-25 82 views
1

我在OS X 10.7.5上運行,並且安裝了Java 6和Java 7。 我有一個bash shell的設置運行Java 6,但是當我啓動JNLP文件 我看到了Java 7的啓動畫面,並在Java控制檯我看強制javaws在Mac OS X上使用Java 6 10.7

Java Web Start 10.25.2.15 
Using JRE version 1.7.0_25-b15 Java HotSpot(TM) 64-Bit Server VM 

發生這種情況,即使我用的是全路徑javaws的

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws foo.jnlp 

只是爲了驗證這一點顯示了外殼使用Java 6:

$ echo $JAVA_HOME 
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home 
$ type -all javaws 
javaws is /usr/bin/javaws 
$ ls -l /usr/bin/javaws 
lrwxr-xr-x 1 root wheel 76 Nov 20 10:13 /usr/bin/javaws -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws* 
$ type -all java 
java is /usr/bin/java 
$ ls -l /usr/bin/java 
lrwxr-xr-x 1 root wheel 74 Nov 20 10:13 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java* 
$ java -fullversion 
java full version "1.6.0_65-b14-462" 

回答

0

請注意javaws的使用JRE,而不是JDK。 因此,請卸載存在的JRE,我認爲它是在您首次運行JNLP期間安裝的,然後下載JRE 1.6 from Oracle web site並再次運行JNLP文件。

當然,我無法測試它,只是一個演繹,希望能幫助你。

+1

Oracle沒有用於Mac OS X的Java 1.6,僅1.7。 Java 6版本來自Apple。我需要安裝1.6和1.7並能夠來回切換。 – dlipofsky

5

這對我的作品在Mac OS X 10.9,Java版本1.6.0_65:

$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javaws foo.jnlp 

JDK 7 Installation for Mac OS X討論,你可以使用java_home避免「硬編碼的完整路徑Java命令行工具「。

$ /usr/libexec/java_home -v 1.6 --exec javaws foo.jnlp 
+0

你給作品的完整路徑。只要您還設置PATH,以使JAVA_HOME/bin位於任何其他Java之前,就可以設置JAVA_HOME。 – dlipofsky

+0

我的困惑是部分,因爲 /系統/庫/框架/ Java虛擬機框架/版本/ CurrentJDK鏈接到1.6.0 /系統/庫/ Frameworks/Java虛擬機框架/版本/當前鏈接到A 而且我有不知道A是什麼。我假設它是1.6.0,因爲該目錄中的其他所有內容都是1.6.0(1.7安裝在完全不同的地方) ,並且由於CurrentJDK肯定是1.6.0。偉大的命名方案,蘋果。 和/ usr/bin/java *鏈接到Current,而不是CurrentJDK。 – dlipofsky

+0

另一個奇怪的事情,如果我檢查 「允許所有應用程序從......簽名」 複選框,它使JVM與1.6崩潰。所以我想我不會那麼做:) – dlipofsky

相關問題