maven打包springboot项目时将lib和resources单独打包出来。并使用bat/sh 命令启动项目

1、我的项目目录结构

maven打包springboot项目时将lib和resources单独打包出来。并使用bat/sh 命令启动项目_第1张图片

2、在maven的pom.xml 文件添加build 插件


    ${jar.name}
    
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        lib
                        com.paas.gateway.PaasGatewayApplication
                    
                    
                        ./
                    
                
                
                        *.properties
                        *.yml
                
            
        
        
        
            maven-assembly-plugin
            
                
                ${project.artifactId}-${project.version}
                
                
                    src/assembly/assembly.xml
                
            
            
                
                    make-zip
                    
                    package
                    
                        
                        single
                    
                
            
        
    

3、新建 assembly.xml文件


   runtime
   
      zip
   
   false
   
      
         ${project.basedir}/src/main/scripts
         
         0755
         
            **.sh
            **.bat
         
      
      
         ${project.basedir}/target/classes
         config
         0644
         
            *.properties
            *.yml
         
      
      
         ${project.basedir}/target
         /
         0755
         
            ${project.build.finalName}.jar
         
      
   
   
      
         lib
         
         runtime
         
            ${groupId}:${artifactId}
         
      
   

4、打包生成的结果

maven打包springboot项目时将lib和resources单独打包出来。并使用bat/sh 命令启动项目_第2张图片

5、windows,.bat运行项目

echo off
chcp 65001
set i=3
:restart
start /b /wait jre1.8.0_331/bin/java -jar -Xmx256m -Xms128m -Dfile.encoding=utf-8 -Dspring.config.location=classpath:/config/application.yml xxxxx.jar
echo "遇到错误停止运转10秒后自动重启"
timeout /t 10
if %i% GTR 0 (
    set /a i = %i% - 1
    goto restart
)
pause

6、linux,.sh运行项目

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=xxxxx.jar

#使用说明,用来提示输入参数
echo "Usage: sh startup.sh start"

#检查程序是否在运行
is_exist() {
    pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
    #如果不存在返回1,存在返回0
    if [ -z "${pid}" ]; then
      return 1
    else
      return 0
    fi
}

#启动方法
is_exist
if [ $? -eq "0" ]; then
 echo "${APP_NAME} is already running. pid=${pid} ."
else
java -jar -Xmx256m -Xms128m -Dfile.encoding=utf-8 -Dspring.config.location=classpath:/config/application.yml $APP_NAME
fi

echo "start success"

你可能感兴趣的:(maven,maven,spring,boot,java,jar)