栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

SpringBoot打包方式之一,便于Jenkins管理

Java 更新时间:发布时间: 百科书网 趣学号
相关maven插件与版本
maven-jar-plugin                    --3.0.2        
maven-assembly-plugin               --3.1.1
打包风格
webapp.zip
/webapp
    /webapp.jar                    --启动jar包(顶层模块)
    /lib                           --依赖包(含子模块)
    /resources(仅标记,不是目录)     --对应顶层模块resources目录下的所有文件,可配通过
assembly.xml配置筛选
开始配置
私服:http://192.168.60.63:10000/repository/maven-public/
阿里云仓库:http://maven.aliyun.com/nexus/content/groups/public
引入插件

在顶层聚合模块引入插件


    
    webapp
    
    
        
        
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        com.chinagdn.ChinagdnWebApplication
                        true
                        lib/
                    
                    
                        ./
                    
                
                
                
                    scripts/**
                    assembly/**
                    config/**
                    init/**
                    static/**
                
            
        
        
        
            maven-assembly-plugin
            
                
                false
                
                    src/main/assembly/package.xml
                
            
            
                
                    make-assembly
                    package
                    
                        single
                    
                
            
        
    
配置项目打包风格

在顶层聚合模块创建src/main/assembly/package.xml目录和文件,编辑package.xml内容



    package
    
        zip
    
    true
    
    
        
            bin
            /
        
        
        
            src/main/scripts
            /
            
                start.sh
                stop.sh
                stopService.bat
                startService.bat
            
        
        
        
            src/main/resources
            /
        
        
        
            ${project.build.directory}
            /
            
                *.jar
            
        
    
    
    
        
            lib
            runtime
            
            
                *:${project.artifactId}:*
            
        
    
脚本

在顶层聚合模块创建src/main/scripts/

start.sh

#!/bin/bash

APP_PATH=$(cd `dirname $0`; pwd)
APP_JAR_NAME=webapp
PROFILES=test
echo $APP_PATH$APP_JAR_NAME
pid=`ps -ef | grep $APP_PATH | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "关闭进程:"$pid
fi

echo "授予当前用户权限"
chmod 777 $APP_PATH/$APP_JAR_NAME.jar
echo "启动....."
java -jar $APP_PATH/$APP_JAR_NAME.jar --spring.profiles.active=$PROFILES > /dev/null &
echo "启动完成:::" `ps -ef | grep $APP_JAR_NAME | grep -v grep | awk '{print $2}'`

stop.sh

#!/bin/bash

APP_PATH=$(cd `dirname $0`; pwd)
APP_JAR_NAME=webapp
PID=`ps -ef | grep $APP_PATH | grep -v grep | awk '{print $2}'`
if [ -z "$PID" ]  
then  
    echo Application is already stopped  
else  
    echo kill $PID  
    kill $PID  
fi

startService.bat    --windows系统上一键启动脚本

@echo off

::应用路径
set app=webapp.jar

::启动环境
set profiles=--spring.profiles.active=pro

::java目录
set javabin=%JAVA_HOME%bin

::设置进程查询条件,应用路径需转义为\条件才能成立
set where="commandline like '%%-jar %app:=\%%%'"

::查询实例
wmic process where %where% get CommandLine,ProcessId

::关闭实例
wmic process where %where% call terminate

::启动应用
START "webapp" "%javabin%java" -jar %app% %profiles%

pause

stopService.bat    --windows系统上一键停止脚本

@echo off

::应用路径
set app=webapp.jar

::设置进程查询条件,应用路径需转义为\条件才能成立
set "where=commandline like '%%-jar %app:=\%%%'"

::关闭实例
wmic process where "%where%" call terminate

pause

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/276403.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号