今天我透過.sh
從以下位置下載檔案來安裝 Java EE官方 Oracle 原始碼並使用命令運行它sudo sh filename.sh
。
但是,我的 Linux Mint 機器中有多個版本的 Java,我在使用以下命令時存取這些版本sudo update-alternatives --config java
:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1074 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1074 manual mode
Press enter to keep the current choice[*], or type selection number:
當我使用該java -version
命令時,這就是我得到的:
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
透過閱讀所有這些輸出,我從未發現任何提及任何「Java EE」版本的內容。所以我有一些問題需要澄清:
- 我如何真正知道我是否將其用作預設值?
- 如果我沒有預設使用它,我該怎麼辦?
- 如果上述步驟不可行,我該如何設定我的 Eclipse IDE 來使用它?
預先感謝,佩德羅。
答案1
Java EE 實際上是一組.jar
運行在 Java SE 之上的企業庫(在檔案中),通常在伺服器中。所以java -version
它本身就只是說「SE」。它還說“Server VM”,它是為運行伺服器而調整的;但它是 64 位元 Linux 上所有功能的預設 VM。 (您在啟動時配置或覆蓋虛擬機選擇。虛擬機不“知道它正在運行哪種類型”的應用程序,因此它不會為您選擇。)
您連結的 Java EE 安裝 Glassfish 伺服器;那個特定的包有它自己的 JDK——事實上是一個更舊的。所以無論你把它放在哪裡,如果你進入glassfish3/jdk7
目錄並運行bin/java -version
,它會報告java version "1.7.0_10"
,而不是_45
。請注意,「核心」運行時位於jdk7/jre/lib/rt.jar
EE JAR 位於glassfish3/glassfish/modules
.主要的名稱以“javax”開頭,因此您可以使用以下命令查看它們find . -name 'javax*.jar'
當您在 Glassfish 中執行應用程式時,它應該會執行類路徑魔法以使這些 JAR 可用。如果您使用 IDE,它應該執行類似的操作,以便您可以編譯程式碼。如果您手動編程,則必須自行完成。
因此,回答你的問題,如果不使用 SE,就不可能「使用」EE。使用 EE 的唯一真正要求是將其 JAR 放在類別路徑上。 Eclipse 應該有一種方法「指向 Glassfish」並讓它找到所有內容。
在這種特殊情況下,您還應該刪除舊的_10
JDK。然後要麼把你現有的_45
放在它的位置glassfish3/jdk7
;或對 PATH、JAVA_HOME 等進行任何必要的更改glassfish3/glassfish/config/asenv.conf
以使其運作。您不想意外執行舊的 JDK。
答案2
您只需要了解 HotSpot,因為它是來自 Oracle 的 JVM。所以從現在開始所有使用java
指令的程式都會$PATH
使用Oracle的Java。您還應該javac
調整update alternatives
.
- 有些程式有其他方法來尋找 Java,因此請發揮創意。
- 取決於應用程式
- 抱歉我沒有使用 Eclipse
答案3
在 Linux 上,它與 Windows 作業系統有點不同。您將需要 4 個工具來開始使用 java 開發 JSP 或動態網頁。
1. JavaSDK
2. Glassfish
3. Apache Tomcat 伺服器
4. Eclipse IDE
1.安裝Oracle Java
關於在 Linux 平台上使用 openjdk 還是 oracle-jdk 的 java 有很多討論。我不想討論它們之間的差異,但出於未知原因我建議您使用 oracle-jdk:)
安裝過程新增儲存庫
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
安裝java使用
sudo apt-get install oracle-java8-installer
2.安裝Glassfish
Java-SE 和 Java-EE 之間的主要區別在於庫,還有一些附加庫,其中之一是 glassfish。當你安裝這個庫時,你可以輕鬆地導入套件下的類javax。
玻璃魚安裝:
sudo apt-get install glassfish-javaee
3.Tomcat伺服器
訪問https://tomcat.apache.org/download-70.cgi並下載最新穩定的tomcat伺服器。如需逐步配置,請訪問此鏈接
https://www.javatpoint.com/how-to-configure-tomcat-server-in-eclipse-ide
4.日蝕
造訪 eclispe 官方網站並下載 eclipse for Java-EE
https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/oxygen3a
這是一個精心製作的教程,用於使用 Eclispe 啟動動態 Web 專案。
https://www.javatpoint.com/creating-jsp-in-eclipse-ide