最近中文字幕国语免费完整,中文亚洲无线码49vv,中文无码热在线视频,亚洲自偷自拍熟女另类,中文字幕高清av在线

當(dāng)前位置: 首頁 > 技術(shù)教程

java服務(wù)怎么啟動(dòng) java服務(wù)啟動(dòng)命令

  在 Java 開發(fā)與運(yùn)維中,“啟動(dòng) Java 服務(wù)” 是核心操作。無論是簡(jiǎn)單的 Java 小程序,還是 Spring Boot、Dubbo 等框架構(gòu)建的企業(yè)級(jí)服務(wù),都需通過特定命令啟動(dòng)。很多開發(fā)者常困惑于 “不同場(chǎng)景用什么命令”“后臺(tái)啟動(dòng)怎么配置”“啟動(dòng)后如何管理進(jìn)程”,小編將分場(chǎng)景拆解 Java 服務(wù)的啟動(dòng)方法,覆蓋 Windows、Linux 兩大系統(tǒng),詳解命令語法與實(shí)操技巧,助你高效啟動(dòng)并管理 Java 服務(wù)。

  一、Java 服務(wù)啟動(dòng)前的核心前提

  啟動(dòng) Java 服務(wù)前需完成兩項(xiàng)準(zhǔn)備工作,避免因環(huán)境問題導(dǎo)致啟動(dòng)失?。?/p>

  1. 確認(rèn) JDK 已正確安裝配置

  Java 服務(wù)依賴 JDK(Java Development Kit)的運(yùn)行環(huán)境,需先驗(yàn)證 JDK 是否就緒:

  驗(yàn)證命令:在終端(Linux)或命令提示符(Windows)輸入java -version,若顯示 JDK 版本信息(如java version "1.8.0_381"),說明環(huán)境正常;

  若報(bào)錯(cuò) “java 不是內(nèi)部或外部命令”:需配置JAVA_HOME環(huán)境變量(Windows 在 “系統(tǒng)屬性→高級(jí)→環(huán)境變量” 中設(shè)置,Linux 在/etc/profile或~/.bashrc中添加export JAVA_HOME=/usr/local/jdk1.8.0_381),并將%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(Linux)加入PATH。

  2. 準(zhǔn)備 Java 服務(wù)的啟動(dòng)文件

  不同類型的 Java 服務(wù),啟動(dòng)依賴的文件不同:

  簡(jiǎn)單 Java 程序:需編譯后的.class文件(如HelloWorld.class),或打包后的.jar文件(通過javac編譯、jar命令打包生成);

  框架服務(wù)(Spring Boot/Dubbo):通常是打包后的可執(zhí)行.jar文件(如spring-boot-demo-1.0.0.jar),由 Maven/Gradle 構(gòu)建生成,內(nèi)置 Tomcat 等容器,可直接啟動(dòng);

  傳統(tǒng) Web 服務(wù)(WAR 包):需部署到 Tomcat、Jetty 等容器,通過啟動(dòng)容器間接啟動(dòng) Java 服務(wù)(后文單獨(dú)說明)。

云服務(wù)器5.jpg

  二、Java 服務(wù)啟動(dòng)方法:分場(chǎng)景詳解(Windows/Linux 通用)

  根據(jù) Java 服務(wù)的類型(簡(jiǎn)單程序 / 框架服務(wù))與啟動(dòng)需求(前臺(tái) / 后臺(tái)),需選擇不同的命令,核心場(chǎng)景分為三類:

  (一)場(chǎng)景 1:?jiǎn)?dòng)簡(jiǎn)單 Java 程序(.class/.jar 文件)

  適用于開發(fā)測(cè)試階段的小型 Java 程序,如工具類、控制臺(tái)應(yīng)用,啟動(dòng)命令簡(jiǎn)潔直觀:

  1. 啟動(dòng).class 文件(未打包的單個(gè)類)

  若服務(wù)僅一個(gè)編譯后的.class文件(如HelloWorld.class,含main方法),直接用java命令啟動(dòng):

  命令語法:java 類名(無需加.class后綴);

  實(shí)操示例:

  假設(shè)HelloWorld.class在D:\java-project目錄(Windows)或/home/java-project目錄(Linux):

  Windows:先cd D:\java-project,再輸入java HelloWorld,程序會(huì)在前臺(tái)運(yùn)行,輸出控制臺(tái)日志;

  Linux:先cd /home/java-project,再輸入java HelloWorld,效果與 Windows 一致。

  注意:若類屬于包(如com.example.HelloWorld),需進(jìn)入包的上層目錄,命令改為java com.example.HelloWorld(如類文件在com/example/HelloWorld.class,需在com的上層目錄執(zhí)行命令)。

  2. 啟動(dòng)可執(zhí)行.jar 文件(打包后的程序)

  若程序已打包為可執(zhí)行.jar文件(需在MANIFEST.MF中指定Main-Class),用java -jar命令啟動(dòng):

  命令語法:java -jar jar文件名;

  實(shí)操示例:

  啟動(dòng)demo.jar文件:

  Windows:cd D:\java-project → java -jar demo.jar;

  Linux:cd /home/java-project → java -jar demo.jar;

  特點(diǎn):前臺(tái)啟動(dòng),終端關(guān)閉則服務(wù)停止,適合開發(fā)測(cè)試;若需傳遞參數(shù)(如配置文件路徑),可在命令后添加,如java -jar demo.jar --spring.profiles.active=prod(Spring Boot 程序指定生產(chǎn)環(huán)境配置)。

  (二)場(chǎng)景 2:?jiǎn)?dòng) Spring Boot/Dubbo 等框架服務(wù)(企業(yè)級(jí)常用)

  企業(yè)級(jí) Java 服務(wù)多基于 Spring Boot、Dubbo 等框架開發(fā),打包為可執(zhí)行.jar文件,需區(qū)分 “前臺(tái)啟動(dòng)”(便于調(diào)試)與 “后臺(tái)啟動(dòng)”(生產(chǎn)環(huán)境常用):

  1. 前臺(tái)啟動(dòng)(開發(fā)調(diào)試用)

  與簡(jiǎn)單.jar 文件啟動(dòng)命令一致,適合開發(fā)階段查看實(shí)時(shí)日志:

  命令:java -jar spring-boot-demo.jar;

  優(yōu)勢(shì):?jiǎn)?dòng)后直接在終端輸出日志,按Ctrl+C可快速停止服務(wù),方便調(diào)試時(shí)查看報(bào)錯(cuò)信息;

  注意:Spring Boot 服務(wù)默認(rèn)端口為 8080,若端口被占用,可通過命令指定端口:java -jar spring-boot-demo.jar --server.port=8081。

  2. 后臺(tái)啟動(dòng)(生產(chǎn)環(huán)境用)

  生產(chǎn)環(huán)境需服務(wù)在后臺(tái)持續(xù)運(yùn)行,即使終端關(guān)閉也不停止,Windows 與 Linux 的實(shí)現(xiàn)方式不同:

  (1)Linux 系統(tǒng):用nohup或screen實(shí)現(xiàn)后臺(tái)啟動(dòng)

  方法 1:nohup命令(最常用)

  語法:nohup java -jar jar文件名 > 日志文件名 2>&1 &

  示例:?jiǎn)?dòng)spring-boot-demo.jar并將日志輸出到service.log:

  nohup java -jar spring-boot-demo.jar > service.log 2>&1 &

  命令解析:nohup(忽略終端關(guān)閉信號(hào))、> service.log(將標(biāo)準(zhǔn)輸出重定向到日志文件)、2>&1(將錯(cuò)誤輸出合并到標(biāo)準(zhǔn)輸出)、最后一個(gè)&(后臺(tái)運(yùn)行);

  查看日志:tail -f service.log(實(shí)時(shí)查看日志)、cat service.log(查看全部日志);

  停止服務(wù):先通過ps -ef | grep java找到進(jìn)程 ID(PID),再用kill -9 PID終止(如ps -ef | grep spring-boot-demo.jar找到 PID 為 1234,執(zhí)行kill -9 1234)。

  方法 2:screen命令(需安裝,適合需后續(xù)交互的場(chǎng)景)

  若需后續(xù)進(jìn)入服務(wù)的終端界面(如查看實(shí)時(shí)日志),可通過screen創(chuàng)建會(huì)話:

  安裝 screen(CentOS:yum install screen,Ubuntu:apt install screen);

  創(chuàng)建會(huì)話:screen -S java-service(java-service為會(huì)話名);

  在會(huì)話中啟動(dòng)服務(wù):java -jar spring-boot-demo.jar;

  脫離會(huì)話:按Ctrl+A+D(服務(wù)仍在后臺(tái)運(yùn)行);

  重新進(jìn)入會(huì)話:screen -r java-service;

  終止服務(wù):在會(huì)話中按Ctrl+C,或退出會(huì)話后用kill命令終止進(jìn)程。

  (2)Windows 系統(tǒng):用 “任務(wù)計(jì)劃程序” 或start /b后臺(tái)啟動(dòng)

  方法 1:start /b命令(臨時(shí)后臺(tái)啟動(dòng))

  語法:start /b java -jar jar文件名 > 日志文件名 2>&1

  示例:start /b java -jar spring-boot-demo.jar > service.log 2>&1

  特點(diǎn):服務(wù)在后臺(tái)運(yùn)行,命令提示符可關(guān)閉,但需通過任務(wù)管理器終止進(jìn)程(找到j(luò)ava.exe進(jìn)程,右鍵 “結(jié)束任務(wù)”);

  缺點(diǎn):重啟電腦后服務(wù)不自動(dòng)啟動(dòng),適合臨時(shí)需求。

  方法 2:注冊(cè)為 Windows 服務(wù)(開機(jī)自啟,生產(chǎn)推薦)

  若需服務(wù)開機(jī)自動(dòng)啟動(dòng),可將 Java 服務(wù)注冊(cè)為 Windows 系統(tǒng)服務(wù),需借助工具(如winsw):

  下載winsw(官網(wǎng):https://github.com/winsw/winsw),重命名為java-service.exe;

  創(chuàng)建配置文件java-service.xml(與java-service.exe同目錄),內(nèi)容示例:

  TypeScript取消自動(dòng)換行復(fù)制

  <service>

  <id>JavaService</id>

  <name>Java Service(Spring Boot Demo)</name>

  <description>Java服務(wù)(Spring Boot Demo)</description>

  <executable>java</executable>

  <arguments>-jar "D:\java-project\spring-boot-demo.jar"</arguments>

  <logpath>D:\java-project\logs</logpath>

  <logmode>rotate</logmode>

  </service>

  安裝服務(wù):在命令提示符(管理員權(quán)限)中執(zhí)行java-service.exe install;

  啟動(dòng)服務(wù):net start JavaService(或在 “服務(wù)” 窗口手動(dòng)啟動(dòng));

  停止 / 卸載服務(wù):net stop JavaService、java-service.exe uninstall。

  (三)場(chǎng)景 3:?jiǎn)?dòng)傳統(tǒng) Web 服務(wù)(WAR 包部署到容器)

  若 Java 服務(wù)是 WAR 包(如基于 SSH、SSM 框架的 Web 項(xiàng)目),需部署到 Tomcat、Jetty 等容器,通過啟動(dòng)容器間接啟動(dòng)服務(wù):

  1. Tomcat 容器啟動(dòng)示例(Windows/Linux 通用)

  步驟 1:部署 WAR 包

  將demo.war文件復(fù)制到 Tomcat 的webapps目錄(如 Linux 的/usr/local/tomcat/webapps,Windows 的D:\tomcat\webapps);

  步驟 2:?jiǎn)?dòng) Tomcat

  Linux:進(jìn)入 Tomcat 的bin目錄,執(zhí)行./startup.sh(前臺(tái)啟動(dòng))或nohup ./startup.sh > catalina.out 2>&1 &(后臺(tái)啟動(dòng));

  Windows:進(jìn)入bin目錄,雙擊startup.bat(前臺(tái)啟動(dòng),會(huì)彈出終端窗口),或執(zhí)行start /b startup.bat(后臺(tái)啟動(dòng));

  訪問服務(wù):?jiǎn)?dòng)后通過http://服務(wù)器IP:8080/demo訪問(demo為 WAR 包名,8080 為 Tomcat 默認(rèn)端口);

  停止容器:Linux 執(zhí)行./shutdown.sh,Windows 雙擊shutdown.bat。

  三、Java 服務(wù)啟動(dòng)常見問題排查

  “端口被占用” 報(bào)錯(cuò)

  用端口查看命令找到占用進(jìn)程并終止:

  Linux:ss -tuln | grep 8080(查看 8080 端口占用),kill -9 PID終止進(jìn)程;

  Windows:netstat -ano | findstr "8080",在任務(wù)管理器中結(jié)束對(duì)應(yīng) PID 的進(jìn)程。

  “找不到主類” 報(bào)錯(cuò)

  檢查.jar 文件的MANIFEST.MF是否配置Main-Class(可通過jar -tf demo.jar | grep MANIFEST.MF查看路徑,用cat或記事本打開文件驗(yàn)證);若為 Spring Boot 項(xiàng)目,確保pom.xml中配置了spring-boot-maven-plugin插件(負(fù)責(zé)打包可執(zhí)行.jar)。

  啟動(dòng)后日志無輸出或服務(wù)無響應(yīng)

  查看日志文件(如service.log)定位錯(cuò)誤,常見原因:配置文件路徑錯(cuò)誤(需通過--spring.config.location指定)、數(shù)據(jù)庫連接失敗(檢查數(shù)據(jù)庫地址與賬號(hào)密碼)、依賴缺失(確保.jar 包打包完整,無遺漏依賴)。

  Java 服務(wù)啟動(dòng)需根據(jù) “程序類型”(.class/.jar/WAR)與 “運(yùn)行環(huán)境”(Windows/Linux)選擇命令:簡(jiǎn)單程序用java或java -jar前臺(tái)啟動(dòng),開發(fā)調(diào)試便捷;企業(yè)級(jí)框架服務(wù)(Spring Boot)在 Linux 用nohup后臺(tái)啟動(dòng)并記錄日志,在 Windows 推薦注冊(cè)為系統(tǒng)服務(wù)實(shí)現(xiàn)開機(jī)自啟;傳統(tǒng) Web 服務(wù)需部署到 Tomcat 等容器啟動(dòng)。掌握這些方法,結(jié)合日志排查問題,就能高效啟動(dòng)并管理 Java 服務(wù),保障服務(wù)穩(wěn)定運(yùn)行。

 


猜你喜歡