maven插件assembly使用及springboot啟動腳本start.sh和停止腳本 stop.sh
我們在項目中都會遇到項目打包,可以通過assembly對我們的項目進行打包。
1、首先看一下在打包前的項目文件結構。
2、在pom.xml中配置assembly插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptors> <descriptor>src/main/assembly/assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <!-- 綁定到package生命周期階段上 --> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
3、在assembly這個目錄下新增assembly.xml這個文件
<assembly> <id>assembly</id> <formats> <!--打包的文件類型--> <format>tar.gz</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <fileSets> <fileSet> <directory>src/main/assembly/bin</directory> <outputDirectory>/bin</outputDirectory> <includes> <include>*.sh</include> </includes> <!--打包文件權限--> <fileMode>0755</fileMode> </fileSet> <fileSet> <!--原文件目錄--> <directory>src/main/resources</directory> <!--打包的目錄--> <outputDirectory>/conf</outputDirectory> </fileSet> <!--將項目文件打包為jar文件--> <fileSet> <directory>${project.build.directory}</directory> <outputDirectory>/lib</outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> </fileSets> <!--添加 jar的打包--> <dependencySets> <dependencySet> <outputDirectory>lib</outputDirectory> </dependencySet> </dependencySets> </assembly>
4、點擊 assembly:assembly 就能進行打包。
5、查看打好包的文件
5、附上start.sh,stop.sh文件
start.sh文件
#!/usr/bin/env bash #source $(dirname $0)/../../env.sh SERVERJAR="database-project-0.0.1-SNAPSHOT.jar" base_dir=$(dirname $0) cd .. if [ "$JAVA_HOME" != "" ]; then JAVA="$JAVA_HOME/bin/java" else JAVA=java fi JAVA_OPTS="-server -Xms32m -Xmx32m -Xmn24m -Xss256K \ -XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection \ -XX:CMSInitiatingOccupancyFraction=60 -XX:+PrintGCDateStamps \ -XX:+PrintGCDetails -Xloggc:$base_dir/gc.log" echo -n "Starting server ..." PID=$(ps -ef | grep database-project-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}') if [ -z "$PID" ]; then echo Application is already stopped else echo kill $PID kill -9 $PID fi echo `pwd` echo $SERVERJAR echo $JAVA echo $JAVA_OPTS echo $JAVA_DEBUG_OPT nohup $JAVA $JAVA_OPTS $JAVA_DEBUG_OPT -jar lib/$SERVERJAR > $base_dir/nohup.out & if [ $? -eq 0 ];then # echo -n $! > "$PIDFILE" if [ $? -eq 0 ] then sleep 1 echo STARTED else echo FAILED TO WRITE PID exit 1 fi else echo SERVER DID NOT START exit 1 fi
stop.sh
#!/usr/bin/env bash SERVERJAR="database-project-0.0.1-SNAPSHOT.jar" base_dir=$(dirname $0) echo -n "Stopping server ..." PID=$(ps -ef | grep database-project-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}') if [ -z "$PID" ]; then echo Application is already stopped else echo kill $PID kill -9 $PID fi exit 0
文件解壓運行start.sh文件
腳本意思可以參考
http://www.dbjr.com.cn/article/39506.htm
日志可以參考
http://www.dbjr.com.cn/article/152599.htm
啟動運行參數(shù)可以參考
http://www.dbjr.com.cn/article/161958.htm
http://www.dbjr.com.cn/article/107058.htm
在啟動腳本的的時候可能會 ./start.sh 腳本的時候可能會報錯
No such file or directory
這是由于在windows下編寫的腳本文件,放到Linux中無法識別格式,編輯start.sh和stop.sh腳本文件,set ff=unix 設置為linux下環(huán)境
set ff=unix
查看腳本啟動情況
tail -f -n 500 nohup.out
總結
到此這篇關于maven插件assembly使用及springboot啟動腳本start.sh和停止腳本 stop.sh的文章就介紹到這了,更多相關maven插件assembly使用springboot啟動停止腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java實現(xiàn)AES/CBC/PKCS7Padding加解密的方法
這篇文章主要介紹了Java實現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08SpringBoot通過計劃任務發(fā)送郵件提醒的代碼詳解
在實際線上項目中,有不斷接受到推送方發(fā)來的數(shù)據(jù)場景,而且是不間斷的發(fā)送,如果忽然間斷了,應該是出問題了,需要及時檢查原因,這種情況比較適合用計劃任務做檢查判斷,出問題發(fā)郵件提醒,本文給大家介紹了SpringBoot通過計劃任務發(fā)送郵件提醒,需要的朋友可以參考下2024-11-11Java 比較接口comparable與comparator區(qū)別解析
這篇文章主要介紹了Java 比較接口comparable與comparator區(qū)別解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10Jmeter?BlazeMeter實現(xiàn)web錄制過程
BlazeMeter是一款與Apache JMeter兼容的chrome插件,采用BlazeMeter可以方便的進行流量錄制和腳本生成,作為接口測試腳本編寫的一個基礎,這篇文章主要介紹了Jmeter?BlazeMeter實現(xiàn)web錄制,需要的朋友可以參考下2021-12-12