Java環境配置與常見問題

来源:https://www.cnblogs.com/subsea/archive/2023/08/31/17668880.html
-Advertisement-
Play Games

一、 前言 在日程辦公中Java環境搭建已經是非常基礎且重要的一環,許多應用如tomcat、weblogic、zookeeper、kafka、Elasticsearch、hadoop、CDH等等都需要依賴它。 Java環境的搭建也比較簡單,在Linux系統上有兩種方法:一種是直接安裝編譯打包好的軟體 ...


 

一、  前言

在日程辦公中Java環境搭建已經是非常基礎且重要的一環,許多應用如tomcat、weblogic、zookeeper、kafka、Elasticsearch、hadoop、CDH等等都需要依賴它。

Java環境的搭建也比較簡單,在Linux系統上有兩種方法:一種是直接安裝編譯打包好的軟體包;另一種是下載歸檔壓縮包解壓手動安裝。

本文就linux上搭建Java環境做一個分享,Java版本選用廣泛使用的8版本

 

開始之前,先科普幾個基本概念

● Java是一門編程語言,是由Sun Microsystems公司發佈,目前被Oracle收購,市場上也有其他公司或者其他版本

● JDK是Java 平臺標準版開發工具包,常說的準備Java環境就是安裝JDK。JDK 是一個開發環境,用於使用 Java 編程語言構建應用程式、小程式和組件。JDK 包括用於開發和測試用 Java 編程語言編寫併在 Java 平臺上運行的程式的工具

● Java目前發行版本官方稱為JavaSE(Java PlatformStandard Edition)。主流版本號是20\17\11\8。使用比較廣泛的版本是8

● JRE:Java Runtime Environment,Java運行環境。 包含JVM和解釋器,完整的Java運行環境

● JVM:Java Virtual Machine,Java虛擬機。 使用軟體在不同操作系統中,模擬相同的環境(java實現跨平臺的根本原因

 

相關參考:

什麼是Java,為什麼需要它?

JDK和JRE的安裝 - 知乎 (zhihu.com)

JRE 8 自述文件 (oracle.com)

JDK 8 自述文件 (oracle.com)

二、  環境準備和下載軟體包

環境機器:

測試環境

操作系統

網路

虛擬機

Centos7.9

有外網

虛擬機

Ubuntu22

有外網

虛擬機

Kylinosv10

有外網

 

相關下載:

● 進入下載頁面、註冊/登錄Oracle賬戶

創建賬戶:Oracle | 創建帳戶

下載地址:Java Downloads | Oracle 中國(需要註冊下Oracle賬戶才能下載)

● 下載對應版本

 

● Java8更新說明:整合的 JDK 8 發行說明 (oracle.com)

 

三、  方法一:使用軟體包安裝

官網提供了RPM包,紅帽體系操作系統可以直接下載rpm包進行安裝

1、  Centos7安裝jdk8

#官網下載jdk-rpm文件
https://www.oracle.com/cn/java/technologies/downloads/

#rpm安裝
rpm -ivh jdk-8u381-linux-x64.rpm

#查詢安裝位置
rpm -qa | grep jdk
#jdk-1.8-1.8.0_381-9.x86_64

#添加環境變數
#JAVA_HOME的路徑設置/usr/java/default
cat >>/etc/profile<<OVER
export JAVA_HOME=/usr/java/default
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
OVER
source /etc/profile
echo $JAVA_HOME

#驗證
java -version && jps

 

2、  Kylinosv10安裝jdk8

也是紅帽體系、同Centos7安裝一樣

 

3、  Ubuntu22安裝jdk8(openjdk)

由於Oracle官方沒有發佈Java8版本.deb安裝包,所以軟體包安裝只能安裝openjdk8

補充:Openjdk是開源產品,源碼和維護Oracle也參與了,滿足Java運行環境

參考文檔:Ubuntu下快速安裝JDK並設置JAVA_HOME - 公眾號-測試生財 - 博客園 (cnblogs.com)

 

#Ubuntu下載jdk-deb文件
https://packages.ubuntu.com/

#Openjdk安裝
apt install openjdk-8-jdk

#查詢安裝位置
dpkg -l | grep openjdk
dpkg -L | grep openjdk-8-jdk
update-alternatives --display java
update-alternatives --config java
#/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

#設置環境變數
#由上可知/usr/lib/jvm/java-8-openjdk-amd64是Java主目錄
#將JAVA_HOME配置/usr/lib/jvm/java-8-openjdk-amd64
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
echo $JAVA_HOME

#驗證
java -version && jps

 

四、  方法二:使用歸檔壓縮包安裝

壓縮包安裝方法適用於各linux系統,所以就不分開舉例了

以下以麒麟系統為演示

#下載jdk壓縮包
https://www.oracle.com/cn/java/technologies/downloads/

#創建一個/usr/java目錄然後解壓壓縮包內容
mkdir -pv /usr/java
tar -zxvf jdk-8u381-linux-x64.tar.gz -C /usr/java/
ls /usr/java/
ln -sf /usr/java/jdk1.8.0_381 /usr/java/default

# 修改系統環境變數
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/java/default
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
echo $JAVA_HOME

#測試是否生效
java -version && jps

 

五、  常見問題

1、  沒有jar命令怎麼操作

#查找jar
cd / && find -name 'jar'
#/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/bin/jar

#軟連接到/usr/bin 

ln -sf /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/bin/jar /usr/bin/jar

2、  如何替換jar包圖片

#先把jar包圖片解壓
jar xf dataService-1.0.0.jar BOOT-INF/classes/static/img/logo.png

#替換圖片
rz 
xxx.png

#替換圖片後再歸檔更新jar包
jar uf dataService-1.0.0.jar BOOT-INF/classes/static/img/logo.png

#重啟jar包的程式
jar uf dataService-1.0.0.jar BOOT-INF/classes/static/img/logo.png
sh ./service.sh restart
作者: 博客園-李宗盛 如果覺得博主的文章對你有幫助,麻煩動動小手、點贊、評論、您的鼓勵是我最大的動力!!! 出處: https://home.cnblogs.com/u/subsea/ 博客園主頁:https://www.cnblogs.com/subsea/ CSDN主頁:https://blog.csdn.net/SUBSEA123/
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 第二章——python基礎語法1: ## 1、輸入和輸出 ### a、使用print()進行列印(輸出)。 ``` print('hello,python') print('hello,world',end='') ``` - pritnt)(輸出內容後,預設會換行。要使其不換行,**則使用pr ...
  • `Matplotlib` 庫是一個用於數據可視化和繪圖的 Python 庫。它提供了大量的函數和類,可以幫助用戶輕鬆地創建各種類型的圖表,包括直方圖、箱形圖、散點圖、餅圖、條形圖和密度圖等。 使用 `Matplotlib` 的過程中,遇到的難點並不在於繪製各類的圖形,因為每種圖形都有其對應的API。 ...
  • 本文在瞭解netty核心組件的前提下,進一步瞭解組件如何在整個伺服器啟動過程如何被創建,如何組件之間配合來使用。首先也是先瞭解下大概服務端的啟動過程,並且在瞭解過程中我們帶著自己的問題去在學習過程中探尋答案 ...
  • 最近做了個脫敏的需求,要對系統中的敏感信息,如手機號、車牌號、身份證號、銀行卡號等進行脫敏顯示。 效果類似下麵這樣: ![](https://images.zwwhnly.com/picture/2023/image-20230829095822435.png) 簡單來說,就是對敏感信息中的某幾位進 ...
  • ### 歡迎訪問我的GitHub > 這裡分類和彙總了欣宸的全部原創(含配套源碼):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概覽 - 本篇是《java與es8實戰》系列的第五 ...
  • ## 前言 眾所周知,C#中有兩種類型變數:那就是**值類型**和**引用類型**。對於值類型而言,copy就相當於是全盤複製了,真正的實現了複製,屬於**深拷貝**;而對於引用類型而言,一般的copy只是**淺拷貝**,只是copy到了引用對象的地址,相當於值傳遞了一個引用指針,==新的對象通過地 ...
  • 上一章節主要介紹了RocketMQ基本介紹和前期準備,以及如何創建生產者。那這一章節主要介紹一下消費端的實現、如何發佈消費端,以及遇到的坑怎麼去解決。 ...
  • 本地配置: 1.進入“程式”,然後點“啟用或關閉Windows功能” 2.萬維網服務勾選 伺服器IIS配置: IIS伺服器的搭建 IIS全稱Internet Information Service,中文名:Internet信息服務,專用於微軟操作系統平臺,相容微軟的各項Web技術,尤其是ASP.NE ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...