OS X Mountain Lion上的多個Java版本

在Mountain Lion之前,Java被捆綁在OS X中。似乎在升級期間,我在計算機上安裝的Java 6版本被刪除了。
顯然,在升級過程中卸載Java的原因是Java運行時存在的安全問題。通過這種方式,您不得不安裝可解決此安全問題的最新版本。

所以我去了/ Applications / Utilities /打開一個終端并執行以下命令:
java -version ==>“不存在Java運行時……”
出現一個提示您安裝Java的窗口。單擊“安裝”并獲取最新版本。我已經安裝了它,但是就在我從Oracle下載并安裝了JDK SE 7之后。

安裝后,打開Java首選項(Launchapad / Others),您將看到:

現在我知道我有兩個Java版本,但是我正在使用哪個版本?

$ java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

那么,如果我想使用Oracle的JDK SE 7怎么辦?
然后,我只需將Java Preferences窗口中的Java SE 7拖到列表中的第一個位置。

這次 :

$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

我對自己說,讓我們了解更多有關如何在OS X上安裝Java的信息,因此我進行了更多研究。

有一些非常有用的命令: whereis和which和ls -l 。

whereis java ==> /usr/bin/java
ls -l /usr/bin/java ==> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

當我看到此消息時,我有點好奇,所以我列出了Versions目錄:

cd /System/Library/Frameworks/JavaVM.framework/Versions
ls ==>
1.4 1.5 1.6 A CurrentJDK
1.4.2 1.5.0 1.6.0 Current

現在,為什么我的機器上裝有Java的舊版本? 所以我問了Ask Different
http://apple.stackexchange.com/questions/57986/multiple-java-versions-support-on-os-x-and-java-home-location

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.1
BuildVersion: 12B19
$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Sep 16 15:55 1.6.0 -> CurrentJDK
drwxr-xr-x  7 root  wheel  238 Sep 16 16:08 A
lrwxr-xr-x  1 root  wheel    1 Sep 16 15:55 Current -> A
lrwxr-xr-x  1 root  wheel   59 Sep 16 15:55 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

似乎所有舊版本都鏈接到AppleJ版本的CurrentJDK版本,但A和Current鏈接到AI除外,對此問題有所了解。對我來說,A就像一個臨時變量。 如果在Java首選項中將Apple A的Java 6設置在第一個位置,而將Oracle A的Java SE 7放在第一個位置,則將Apple的Java 6指向此版本。當前指向A。

/java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
./java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

因此,這意味著在此當前目錄中將指向在Java首選項中找到的第一個Java版本。
一個非常有趣的事情是以下信息

lrwxr-xr-x  1 root  wheel   59 Sep 16 15:55 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

這意味著來自Apple的Java實際上安裝在這里:“ / System / Library / Java / JavaVirtualMachines / 1.6.0.jdk /”
Java SE 7呢? 我可以搜索文件系統來查看,但是找到了一種更簡單的方法:

如果在Java Preferences中的第一個位置是Java SE 7 ==>

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

如果在Java Preferences中的第一個位置是Java SE 6(系統)==>

$ /usr/libexec/java_home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

因此,可能在以下位置之一安裝Java on Mountain Lion(OSX):

  • /系統/庫/ Java / JavaVirtualMachines
  • /圖書館/ Java / JavaVirtualMachines
  • ?/庫/ Java / JavaVirtualMachines

/System/Library/Frameworks/JavaVM.framework/Versions呢?
似乎鏈接到所謂的“ Java橋 ”。這里似乎是OSX安裝上Java的本機部分。

參考: Java Code Samples博客上的JCG合作伙伴 Cristian Chiovari提供了OS X Mountain Lion上Java的多個版本 。


翻譯自: https://www.javacodegeeks.com/2012/09/multiple-versions-of-java-on-os-x.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371431.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371431.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371431.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle鎖機制的總結【轉】

最近在研究Oracle鎖機制的時候發現網上的資料魚龍混雜將,很多將問題復雜化,讓人感覺沒有條理性。經過查詢原始理論資料,總結如下: 在數據庫理論中,我們知道。我們在執行并發訪問數據庫表時,如果沒有任何一致…

2020暨陽學院園林計算機考研考場,【圖片】2020考研,老學長教你如何規劃!【計算機考研吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓二、關鍵一步——院校選擇我把各位同學的院校選擇階段分為以上幾個階段,因為考研這一年中,很多人的目標院校并不是固定不變的,而是隨著不同階段而改變的。學長我在大三下學期這一時間段內也多次更…

List Box 控件

1 //定義變量,并關聯控件與變量。IDC_RecvData為控件ID,recvData為控件對應的變量名 2 CListBox recvData; 3 4 DDX_Control(pDX, IDC_RecvData, recvData); 5 6 //向List Box控件IDC_RecvData中添加一行數據 7 CString str; 8 recvData.Ad…

JavaOne 2012:向上,向上和向外:使用Akka擴展軟件

在最后的社區主題演講后,我前往希爾頓金門大橋3/4/5觀看了維克多巴生 ( Viktor Klang )的( Typesafe )“上,下,外:Akka”演講。 巴生(Klang)是Akka的技術主管…

華北科技學院計算機期末考試,華北科技學院 專業計算機 考試專用

1不能應用修剪命令“trim”進行修剪的對象是(D、文字) 。2. 命令行(B.不能隨意移動)3. 布爾運算中差集的熱鍵為(A.SU)4. 定距等分點用( C.DIST)命令5. 標高是以( B.厘米) 為單位6. 在建筑平面圖中用以指明朝向的是( B.指北針)7. A3圖紙的尺寸是( c.420x297)8. 既可以繪制直線&a…

redux-plain-english-workflow

https://quickleft.com/blog/redux-plain-english-workflow/轉載于:https://www.cnblogs.com/skating/p/6495384.html

Spring測試支持和上下文緩存

Spring為單元測試和集成測試提供了全面的支持-通過注釋來加載Spring應用程序上下文,并與JUnit和TestNG等單元測試框架集成。 由于為每個測試加載大型應用程序上下文需要時間,因此Spring智能地為測試套件緩存應用程序上下文–通常,當我們通過a…

perl6正則 4: before / after 代碼斷言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 對應的取反分別為: <!before > <!before XXX> XXX之前沒有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

mac 下JDK 與 tomcat 的安裝與配置

一.Mac下JDK的安裝 1.先檢測Mac是否已經安裝過JDK&#xff0c;在終端中輸入java 或者 javac 顯示說明&#xff0c;表明已經安裝過JDK&#xff0c;JDK版本查詢終端鍵入java &#xff0d;version&#xff0c;終端會返回JDK的版本號。 2.如果沒有安裝JDK&#xff0c;登陸 http://w…

新型發明創造大賽計算機類,2017年發明杯全國高職高專大學生創新創業大賽

以“發明創新實現夢想、創意創業改變生活”主題活動為依托&#xff0c;把課內與課外教育相結合&#xff0c;學校教育、家庭教育與社會教育相結合&#xff0c;培養廣大在校大學生的科技創新意識和實踐動手能力&#xff0c;激發他們設計創造的樂趣&#xff0c;使廣大大學生大膽創…

如何寫出安全的API接口(參數加密+超時處理+私鑰驗證+Https)- 續(附demo)

轉載&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章說到接口安全的設計思路&#xff0c;如果沒有看到上篇博客&#xff0c;建議看完再來看這個。 通過園友們的討論&#xff0c;以及我自己查了些資料&#xff0c;然后對接口安全做一個相對完善的總結&#…

PrimeFaces在GlassFish 3.1.2.2上推動大氣

PrimeFaces 3.4在三天前問世。 除了通常令人敬畏的新組件和更新組件之外&#xff0c;它還包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;這為您的應用程序提供了簡單的推送機制。 這是在最新的GlassFish 3.1.2.2上配置和運行它的方法。 準備工作 像往常一樣&#…

部分視圖跳轉

var album GetDailyDeal(); return PartialView("_DailyDeal", album); 通過NuGet需要添加microsoft.jquery.unobtrusive.ajax 方法一 在BundleConfig.cs 里添加 bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include("~/Scripts/jquery…

計算機二級目錄設置,word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置...

word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置 這是第2部分word資料 , 跟之前的第一部份word資料合為一份第二題2、在正文前按序插入節&#xff0c;使用“引用”中的目錄功能&#xff0c;生成如下內容&#xff1a;(1) 第1節&a…

JBoss AS 7類加載說明

這是示例章節&#xff0c;摘自Francesco Marchioni編輯的JBoss AS 7 Configuration Deployment and Administration一書&#xff0c;該書正在運行一個名為mastertheboss.com的JBoss門戶。 根據Java EE規范的要求&#xff0c;理想情況下&#xff0c;應用程序服務器應為其部署的應…

打印機 共享 問題

1 用戶提報無法打印&#xff0c;經查被共享打印機無法聯網&#xff0c;先檢查網線是否正常&#xff08;換其他電腦是否能行&#xff09;&#xff0c;再檢查交換機是否正常&#xff0c;經查交換機需要重啟&#xff0c;然后解決問題。 2 被共享機器為32位操作系統&#xff0c;其余…

CoordinatorLayout 中ToolBar遮擋RecyclerView的內容

解決方法:在RecyclerView中添加 app:layout_behavior"string/appbar_scrolling_view_behavior"參考資料:http://stackoverflow.com/questions/32855889/content-behind-coordinatorlayout-appbarlayout 轉載于:https://www.cnblogs.com/niluogege/p/6511094.html

兵團職稱計算機準考證查詢,兵團初級會計準考證打印入口官網

兵團初級會計準考證打印入口官網為財政部會計資格評價中心網(http://kzp.mof.gov.cn)。準考證打印時間在4月16日前公布&#xff0c;考生需要在規定時間登錄財政部會計資格評價中心網(http://kzp.mof.gov.cn)下載并打印準考證。未在上述時限內下載打印準考證的&#xff0c;視作放…

用于集成測試的Maven Cargo插件

在項目生命周期中&#xff0c;非常普遍的需求是設置集成測試。 幸運的是&#xff0c;Maven具有針對此確切方案的內置支持&#xff0c;具有默認構建生命周期的以下階段&#xff08;來自Maven 文檔 &#xff09;&#xff1a; 集成前測試 &#xff1a; 執行集成測試之前所需的操作…

jquery-文檔操作

1.text() 設置或返回元素的text值 <div id"divname">old text</div> $(#divname).text("new text"); 將改變顯示的old為new [1] 參考w3scholl文檔操作 轉載于:https://www.cnblogs.com/hellokittyblog/p/9128397.html