導航:首頁 > 配伺服器 > 伺服器如何後台運行jar包

伺服器如何後台運行jar包

發布時間:2022-08-29 18:45:50

❶ 如何運行和編譯jar

一、源文件情況
源文件位置為:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java

前提:已安裝 jdk ,並配置好環境變數。

二、過程
1、編譯:
提示符進入 D:\temp 路徑下,輸入:javac com\ldq\WeatherDemo.java
生成類文件:WeatherDemo.class

2、打包:
提示符進入 D:\temp 路徑下,輸入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class
生成檔案文件:WeatherDemo.jar

3、修改 MANIFEST.MF 文件:
由於引用了外部的類,所以要添加引用類的路徑,即修改MANIFEST.MF文件。保存如下內容到 D:\temp下,文件名 MANIFEST.MF

Manifest-Version: 1.0
Sealed: true
Main-Class: com.ldq.WeatherDemo
Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar

注意在後面空兩行。
提示符進入 D:\temp 路徑下,輸入:jar umf MANIFEST.MF WeatherDemo.jar
執行時會提示更新的內容。

4、添加包含引用類的相應文件:
在 D:\temp 路徑下,新建 lib 文件夾,講對應的 jaxrpc.jar ... 拷入其中,此時,即可雙擊(或在提示符下輸入:java -jar WeatherDemo.jar)運行 WeatherDemo.jar 文件了。

三、總結
雙擊運行 jar 文件時,虛擬機會到 jar 文件中下找 .MF 文件,找到對應的 Main-Class 運行,引入的類在 Class-Path 所指路徑。
事實上可以利用 winrar或winzip 工具打開 jar 文件,直接將修改好的 MANIFEST.MF 拷入覆蓋,class文件也可以做同樣的操作,節省了輸入復雜難記的命令。另外,對於 javaME 生成的 jar 文件,限制嚴格些,MANIFEST.MF 文件中有個文件大小的欄位,可以先保存,查看文件大小,再修改保存。
另一種方法是通過 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此時,所有的引用類都被打包在 jar 文件里了。

❷ 如何在ubuntu後台系統中部署jar包

1 # 使用域名或者IP,啟動之後就可以這個域名或IP訪問網站了 port: 80 contextPath: spring: profiles: active: proction thymeleaf: cache: true jade4j: caching: true dataSource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1/spring_blog username: root password: hibernate: dialect: org.hibernate.dialect.MySQLDialect hbm2ddl.auto: update show_sql: false redis: host: localhost port: 6379 4. 如何在Ubuntu中後台運行Spring Boot應用? 推薦使用 nohup 這個命令。 cd /root/spring-blog/current nohup java -jar SpringBlog-0.1.jar --spring.config.location=application-proction.yml \ > ../logs/proction.log 2> ../logs/proction.err & 在Ubuntu還可以 /etc/init.d 目錄下新建一個腳本,把SpringBlog作為service來運行,這樣不用每次都打這么繁瑣的命令了。新建一個 /etc/init.d/spring_blog 文件,內容如下: #!/bin/sh SERVICE_NAME=spring_blog HOME=/root/spring-blog PATH_TO_JAR=$HOME/current/SpringBlog-0.1.jar PID_PATH_NAME=/tmp/spring_blog.pid LOG=$HOME/logs/proction.log ERROR_LOG=$HOME/logs/proction.err CONFIG=$HOME/application-proction.yml case $1 in start) echo "Starting $SERVICE_NAME ..." if [ ! -f $PID_PATH_NAME ]; then cd $HOME/current nohup java -jar $PATH_TO_JAR --spring.config.location=application-proction.yml > $LOG 2> $ERROR_LOG & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stoping ..." kill $PID; echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; restart) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stopping ..."; kill $PID; echo "$SERVICE_NAME stopped ..."; rm $PID_PATH_NAME echo "$SERVICE_NAME starting ..." cd $HOME/current nohup java -jar $PATH_TO_JAR --spring.config.location=application-proction.yml > $LOG 2> $ERROR_LOG & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is not running ..." fi ;; esac 現在就可以使用service的方式來運行網站了。 sudo service spring_blog start sudo service spring_blog stop sudo service spring_blog restart 5. 在本地自動化部署網站到遠程伺服器 在本地我用了一個shell腳本和一個python腳本來配合自動化部署。 deploy.sh 使用 gradle 的命令發布jar包,使用 scp 命令吧jar包上傳到伺服器上; deploy.py 使用 SSH 遠程登錄伺服器,並在伺服器上執行部署命令。 # deploy.sh #!/bin/bash SERVER="your_server_ip" JAR="build/libs/SpringBlog-0.1.jar" echo "Building $JAR..." ./gradlew build echo "Upload $JAR to server $SERVER..." scp $JAR root@$SERVER:/root/spring-blog/ python deploy.py deploy.py 主要使用了一個 paramiko 庫,用於 SSH 遠程登錄伺服器,並執行命令。這個腳本會把伺服器上 /root/spring-blog/current/SpringBlog-0.1.jar 備份到 /root/spring-blog/releases 中,並把新發布的jar包放到 /root/spring-blog/current 中,然後重啟 spring_blog 服務。 #!/usr/bin/python import paramiko import threading import time ip = 'your_server_ip' user = 'root' password = '' jar = 'SpringBlog-0.1.jar' home='/root/spring-blog' current=home+"/current" releases=home+"/releases" def execute_cmds(ip, user, passwd, cmd): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,22,user,passwd,timeout=5) for m in cmd: print m stdin, stdout, stderr = ssh.exec_command(m) # stdin.write("Y") out = stdout.readlines() for o in out: print o, print '%s\tOK\n'%(ip) ssh.close() except : print '%s\tError\n'%(ip) if __name__=='__main__': print 'Start deploying %s to server %s'%(jar, ip) now = time.strftime("%Y%m%d%H%M%S") cmd = [ 'echo Stop spring_blog service... && service spring_blog stop', 'echo Flush all redis cache data... && redis-cli -r 1 flushall', 'echo Stop redis server... && service redis_6379 stop', 'echo Use new jar... ' + \ ' && mv ' + current + '/' + jar + ' ' + releases + '/' + now + '_' + jar , 'mv ' + home + '/' + jar + ' ' + current + '/' + jar, 'echo Stop redis... && service redis_6379 start', 'echo Start spring_blog service... && service spring_blog start ' + \ ' && echo All done.' ] a=threading.Thread(target=execute_cmds, args=(ip,user,password,cmd)) a.start() 配置完以後,在本地寫完代碼就可以運行 ./deploy.sh 一鍵部署到遠程伺服器了。

❸ 在tomcat上怎麼運行jar包

在tomcat上運行jar包的方法如下:

1、首先,在tomcat界面中依次右擊工程名,然後選擇BuilPath,Configure buildPath:

❹ 如何把jar包做成在後台運行

寫一個java文件導成jar包:

package com.helloservice.demo;

public class HelloService {

private static boolean stop = false;

public static void start(String[] args) {

System.out.println("start");

while (!stop) {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

}

System.out.println("running");

}

}

public static void stop(String[] args) {

System.out.println("stop");

stop = true;

}

public static void main(String[] args) {

if ("start".equals(args[0])) {

start(args);

} else if ("stop".equals(args[0])) {

stop(args);

}

}

}

兩種方式:實現Deamon介面或者是實現stop和start方法

寫一個installService.bat批處理文件:

set SERVICE_NAME=HelloService

❺ 如何運行jar文件

運行jar文件的具體操作步驟如下:

1、首先我們可以使用WinRAR壓縮包來查看jar文件內容,前提是電腦上要先安裝選WinRAR解壓縮軟體。選中jar包,點擊滑鼠右鍵,在彈出的菜單中選擇用WinRAR打開

linux下如何部署可執行 jar包,並關閉此運行

前段時間剛剛接觸了一下linux系統,本人表示第一次使用無從下手,不像windows操作系統是可視化的,簡單的創建文件或文件夾都要通過寫命令才能將其完成,由於工作需要,不得不自學linux ,先是自學常用的一些命令,然後再部署可執行jar,以下是具體的操作步驟。

1、執行jar包的命令和在windows操作系統上是一樣的,都是java -jar xxxx.jar。
2、將jar程序設置成後台運行,並且將標准輸出的日誌重定向至文件consoleMsg.log。

nohup java -jar getCimiss-surf.jar >consoleMsg.log 2>&1 &
其中:nohup命令的作用就是讓程序在後台運行,不用擔心關閉連接進程斷掉的問題了,consoleMsg.log文件前提要創建好。
3、如果想殺掉運行中的jar程序,查看進程命令為:

ps aux|grep getCimiss-surf.jar
將會看到此jar的進程信息

data 5796 0.0 0.0 112656 996 pts/1 S+ 09:11 0:00 grep --color=auto getCimiss-surf.jar data 30768 6.3 0.4 35468508 576800 ? Sl 09:09 0:08 java -jar getCimiss-surf.jar
其中30768則為此jar的pid,殺掉命令為

❼ 如何在Linux下運行jar包的方法

當需要把在Windows上開發的Java程序用在Linux上運行時,就需要吧該Java程序打包成jar包上傳到Linux上去運行。首先想到的可能就是通過 java -jar xxx.jar 的方式來運行我們的jar包,程序運行正常,但是窗口被鎖定,當我們關閉窗口或Ctrl + C打斷程序運行時,程序就會退出,這肯定不是我們想要的,下面我介紹幾種Linux下後台啟動jar包的方法

優化方法一:

& 表示後台運行,ssh窗口不被鎖定,但是關閉窗口時,程序還是會退出

優化方法二:

nohup 表示不掛斷運行命令行,當賬號退出或關閉終端時,程序仍然運行

當用 nohup 命令執行作業時,該作業的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。

優化方法三:

 > /usr/local/temp.txt 表示將所有啟動的日誌信息記錄到temp.txt文件中

❽ Linux 運行jar包怎麼後台運行

使用nohup命令,後台運行即可,及時關閉putty、xshell等終端窗口也不會關閉jar程序
例:nohup java -jar xxx.jar

閱讀全文

與伺服器如何後台運行jar包相關的資料

熱點內容
北京電信伺服器託管雲空間伺服器 瀏覽:369
一般學編程有必要嗎 瀏覽:753
機器人編程方法 瀏覽:992
表盤編程gt 瀏覽:9
java源代碼閱讀 瀏覽:736
程序員用什麼鍵盤羅技 瀏覽:169
為什麼安卓手機每天都要更新app 瀏覽:707
java怎麼成為程序員 瀏覽:290
西門子s7200編程電纜怎麼連接 瀏覽:532
下載網頁中的pdf文件 瀏覽:90
音樂緩存文件夾的軟體 瀏覽:396
Dkms編譯列印機驅動 瀏覽:996
解壓縮文件操作異常 瀏覽:556
等待代碼編譯時你會幹嘛 瀏覽:493
單片機c語言中變數右移8位 瀏覽:82
解壓的一個小短片 瀏覽:831
二級壓縮空壓機哪家好排行 瀏覽:743
基於單片機超聲波測距 瀏覽:130
模擬隨機紅包演算法 瀏覽:387
程序員接外包網站 瀏覽:138