日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一篇关于Maven项目的jar包Shell启动脚本

發(fā)布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一篇关于Maven项目的jar包Shell启动脚本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ?使用Maven作為項目jar包依賴的管理,常常會遇到命令行啟動,筆者也是哥菜鳥,在做微服務,以及服務器端開發(fā)的過程中,常常會遇到項目的啟動需要使用main方法,筆者潛心的研究了很多博客,發(fā)現(xiàn)大多寫的都是很零散,沒有設計到應用場景,這里打算個人總結一下,一方面作為自己的學習筆記,另一方面作為大家的技術分享

這里是我寫好的一個項目的啟動腳本,這里需要注意幾個地方

1:wins的編輯器,換行符是\r\n,而linux的換行符是\n,所以在我們編輯好了.sh的啟動腳本后,會發(fā)現(xiàn)在linux上啟動會出現(xiàn) {\r 不是內部命令,xxxx行腳本出錯,這里作為開發(fā)者一定要注意,那么,怎么解決呢,使用notePad++打開。選擇----》視圖-----》符號顯示----------》顯示所有符號

?

然后打開查找替換如下

?

替換完成后。顯示如下:

對比第一張圖顯示,換行符是不是不一樣了呢?

下面講解一下,啟動腳本的一些參數,和啟動命令

SERVER=/usr/local/netty/mqtt? ? ? ? ? ?這里是我們打包的jar包的存放路徑

echo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?控制臺輸出的提示符,就像我們的Syste.out.println()

?JAVA_HOME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?JDK安裝路徑

cd? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切換目錄

classPath? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?jar包存放目錄

nohup? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? linux執(zhí)行命令

java -cp top-transfer.jar com.top.application.mqtt.activit.ActivitReceiveTopic start &? ? ? ? ? ? ? ? ? ? ? java虛擬機啟動main方法命令

注釋:java -cp top-transfer.jar com.top.application.mqtt.activit.ActivitReceiveTopic start? 也可以單獨的作為mian方法的啟動命令,只是這種啟動方式,不是以進程的方式啟動,當我們關閉控制臺的時候進程也就關閉了,啟動的進程也隨之關閉,程序就不繼續(xù)運行了。

下面我們來說明一下,Maven工程的打包方式,如上所述,maven工程必然會引用很多其他的jar包依賴,這個時候我們需要把第三方的jar包引用同時打包到我們的工程里面,這方便Mavne已經做好了插件

常用的插件maven-assembly-plugin,這個普及度比較高。

我們在pom.xml中添加如下代碼

我們對開發(fā)完成的項目進行maven打包

?

?Run后看到如下提示信息

BUILD SUCCESS說明打包成功,找到打包好的目錄,看到出現(xiàn)了兩個jar包,我們反編譯去看看jar包的內容

?

反編譯結果如下,發(fā)現(xiàn)第一個包沒有jar包依賴

查看第二個包,如下包括我們的配置文件,第三方jar包都被打包進來了。

?

?我們在注意看,在jar包中有一個MANIFEST.MF的文件,發(fā)現(xiàn)這個文件里路了我們打包好的jar包的配置信息,就相當于說明書一樣。

我們在注意看上面說到的打包插件中有這樣一行帶代碼

在mainClass標簽中制定我們的jar包main方法,在期內添加main方法

然后我們重新打包,反編譯第二個jar包

多了main方法,這樣我們就制定jar包的啟動窗口。至此打包完成

在linux 我們還要使用 chmod a+x startup.sh 把編輯好的腳本添加到linux的北部shell啟動腳本中。

然后執(zhí)行? ?./startup.sh ,大功告成。

?

轉載于:https://www.cnblogs.com/zhaieryuan/p/8645335.html

總結

以上是生活随笔為你收集整理的一篇关于Maven项目的jar包Shell启动脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。