maven篇6:maven打包

使用maven对项目进行打包,可用以下三种plugin

maveb-jar-plugin : maven默认打包插件,用来创建project jar
maven-shade-plugin : 用来打可执行包(executable jar)
maven-assembly-plugin : 支持定制化打包方式
下面简单介绍以下maven-assembly-plugin
指定打包文件src/main/assembly/assembly.xml,在该配置文件内指定打包操作。


  [...]
 
    [...]
   
     
        maven-assembly-plugin
        3.0.0
       
         
            src/main/assembly/assembly.xml
         

       

        [...]

配置文件参数解释说明

1、id
release
1
id标识符,添加到生成文件名称的后缀符。如果指定id的话,目标文件名则是 a r t i f a c t I d − {artifactId}-artifactId−{id}.tar.gz

2、formats
maven-assembly-plugin 支持的打包格式有zip、tar、tar.gz (or tgz)、tar.bz2 (or tbz2)、jar、dir、war,可以同时指定多个打包格式


    tar.gz
    dir


3、fileSets
管理一组文件的存放位置,核心元素如下表所示:


   
     
        bin/**
     

      0755
   

   
     
        /conf/**
        logs
     

   

 
 

4、files

可以指定目的文件名到指定目录,其他和 fileSets 相同,核心元素如下表所示。

 

 具体的标签类型看官方文档,下面介绍几个常用的元素
Apache Maven Assembly Plugin – Assembly

工程目录结构示例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxH3zFn3-1623839921009)(C:\Users\liuzhihao.HOLLYSYS\AppData\Roaming\Typora\typora-user-images\1623836394032.png)]

 参考

maven assembly打包插件详解_隐0士的博客-CSDN博客_assembly打包

打包后可以通过脚本启动,附(参考)脚本

win

@echo off
if ""%1"" == ""-p"" goto doSetPort
if ""%1"" == """" goto doStartecho Usage:  %0 [OPTIONS]
echo   -p [port]          Server port (default: 8899)
goto end:doSetPort
shift
set PORT=%1:doStart
set DDCFGDIR=%~dp0%..\conf
set CLASSPATH=%DDCFGDIR%
SET CLASSPATH=%~dp0..\lib\*;%CLASSPATH%
set CONSOLE_MAIN=com.test.ConsoleStart
echo on
if ""%PORT%"" == """" set PORT=8899
java  -cp "%CLASSPATH%" %CONSOLE_MAIN% %PORT%:end

linux

#!/bin/bashshow_usage() {echo "Usage: $0 [OPTIONS]"echo "  -p           Server port (default: 8899)"exit 1
}if [ $# -ne 0 ] && [ $# -ne 2 ]; thenshow_usage
fiport="8899"if [ $# -eq 2 ]; thenwhile getopts p: arg do    case "$arg" inp) port="$OPTARG";;[?]) show_usage;;esacdone
fiif [ "$port" = "" ]; thenshow_usage
ficd `dirname $0`
cd ..
DEPLOY_DIR=`pwd`
LIB_DIR=${DEPLOY_DIR}/lib/*
CONSOLE_MAIN=com.testConsoleStartjava -classpath ${LIB_DIR}:. ${CONSOLE_MAIN} $port


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部