簡體   English   中英

JDK java可執行文件與JRE可執行文件

[英]JDK java executable vs JRE executable

我將Oracle JDK安裝到/usr/jdk/jdk1.8.0_25並將該目錄設置為JAVA_HOME。 JAVA_HOME / bin包含java可執行文件,JAVA_HOME / jre / bin包含另一個java可執行文件。 我所遵循的指南說要將JAVA_HOME / bin和JAVA_HOME / jre / bin添加到PATH,但這是正確的可執行文件,如果我從命令行調用java,它將被使用?

以下是JDK和JRE之間差異的簡要概述

JRE裝置的J avař不定時Ênvironment:它僅包含用於運行java程序二進制文件

JDK意味着J ava D evelopment K it:它包含用於運行java程序+二進制文件的二進制文件,以編譯java源代碼(並生成一個java程序)。

JDK內部總是包含一個JRE(在目錄<JDK_HOME>/jre

JRE和JDK之間的主要區別是javac程序。 javac表示java c ompiler )(你還會在<JDK_HOME>/bin下找到一些其他程序,這些程序在<JDK_HOME>/jre/bin下不存在:所有這些程序對於java開發都很有用 - 但在大多數情況下case - 無法運行java程序。

兩個位置的所有程序(即<JDK_HOME>/bin<JDK_HOME>/jre/bin )都是相同的,因此區分並不是很重要。

要准確回答你的問題:當你執行以java開頭的命令行時運行的java實例是你的PATH系統變量中找到的第一個java實例......就像任何其他程序一樣。

無論java中的路徑是什么 - JAVA_HOME / bin或JAVA_HOME / jre / bin。

如果你看看安裝了jdk / jre的文件夾結構,你會發現在jdk / bin文件夾中有很多二進制文件的集合,比如java,javac,javap等.JRE包含java但不包含javac, javap等我假設這是linux,你下載了壓縮存檔並提取了它。

如果您真的很好奇,可以將其寫入命令行:

where java

這將給出可執行文件的確切位置。 在我的電腦上,這給了我

C:\ProgramData\Oracle\Java\javapath\java.exe

這是系統默認運行時java.exe的軟鏈接(在我的例子中是C:\\Program files\\Java\\jre 1.8.0_25\\bin\\java.exe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM