减少jar包大小

背景:微服务架构,每个jar包都有100多M,传包速度又很慢,有点折磨

pom文件引入以下配置

 
       
        ${project.artifactId}
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.7.5
                
                      
                    com.violet.BaseServerApplication
                    
                    -Dfile.encoding=UTF-8
                    ZIP
                    
                    
                        
                         
                         
                         
                        
                        
                        
                            com.violet
                            base-api
                        
                    
                
                
                    
                        
                            repackage
                        
                    
                
            
            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                3.1.1
                
                    
                        copy-dependencies
                        package
                        
                            copy-dependencies
                        
                        
                          
                            ${project.build.directory}/lib
                            
                            false
                            
                            false
                            
                            runtime
                        
                    
                
            
        
    

jar包启动脚本如下

#!/bin/bash
#-Xms: 设置初始化堆内存大小;
#-Xmx: 设置最大可分配堆内存大小
#MetaspaceSize:元空间默认大小
#MaxMetaspaceSize:元空间最大大小
#JVM参数
JVM_OPTS="-Xms128m -XX:MetaspaceSize=128M -Xmx128m -XX:MaxMetaspaceSize=512M -Dfile.encoding=utf-8"
#日志输出路径
LOG_HOME="/opt/data/logs/"
#服务名称
SERVER_NAME="base-server"
#当前日期 如:2022-01-01
TODAY=$(date -d "now" +"%Y-%m-%d")
LOG_PATH="${LOG_HOME}${SERVER_NAME}/${TODAY}/deb.log"
ACTIVE="test"
#脚本绝对路径
SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
JAR_PATH="${SCRIPT_DIR}/${SERVER_NAME}.jar"
LIB_PATH="${SCRIPT_DIR}/lib"
#杀死已有进程
echo stop ${SERVER_NAME} ..
PID=$(ps -ef | grep ${SERVER_NAME}.jar | grep -v grep | awk '{print $2}')

if [ ! $PID ]; then
    echo "process ${SERVER_NAME} not exit"
else
    echo "process id: $PID"
kill -9 ${PID}
  if [ $? -eq 0 ]; then
    echo "stop ${SERVER_NAME} success"
  else
    exit
  fi
fi

echo start ${SERVER_NAME} ..
#启动jar包 输出启动日志
nohup java ${JVM_OPTS} -jar -Dloader.path=${LIB_PATH} ${JAR_PATH} -Dspring.profiles.active=${ACTIVE}>${LOG_PATH} 2>&1 & tail -200f ${LOG_PATH}
echo 'start successful'

你可能感兴趣的:(减少jar包大小)