maven篇6:maven打包

简介: 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

工程目录结构示例

参考

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

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

win

@echo off
if ""%1"" == ""-p"" goto doSetPort
if ""%1"" == """" goto doStart
 
echo 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/bash
 
show_usage() {
    echo "Usage: $0 [OPTIONS]"
    echo "  -p <port>          Server port (default: 8899)"
    exit 1
}
 
if [ $# -ne 0 ] && [ $# -ne 2 ]; then
  show_usage
fi
 
port="8899"
 
if [ $# -eq 2 ]; then
  while getopts p: arg 
  do    case "$arg" in
          p) port="$OPTARG";;
          [?]) show_usage;;
        esac
  done
fi
 
if [ "$port" = "" ]; then
  show_usage
fi
 
cd `dirname $0`
cd ..
DEPLOY_DIR=`pwd`
LIB_DIR=${DEPLOY_DIR}/lib/*
CONSOLE_MAIN=com.testConsoleStart
 
java -classpath ${LIB_DIR}:. ${CONSOLE_MAIN} $port


相关文章
|
14天前
|
Java Maven
如何用Maven打包
如何用Maven打包
114 0
|
14天前
|
XML Java Maven
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
60 1
|
12天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
3天前
|
Java Maven 开发工具
记录一次Maven无法打包的排查过程
【5月更文挑战第3天】记录一次WhatTheFuck经历
36 2
记录一次Maven无法打包的排查过程
|
5天前
|
Java Maven Spring
maven打包插件maven-jar-plugin与spring-boot-maven-plugin
该内容介绍了两个Maven打包插件:`spring-boot-maven-plugin`和`maven-jar-plugin`。`spring-boot-maven-plugin`是Spring Boot项目的默认打包工具,它会包含项目类文件、资源和依赖的jar,但不会解编译依赖。而`maven-jar-plugin`则用于创建普通JAR包,不包含依赖。文中还展示了两个插件打包后的效果差异,并强调了持续练习以掌握这些技能的重要性。
14 0
|
14天前
|
安全 前端开发 Java
安全同学讲Maven重打包的故事
经过去年的Log4j-core的治理工作,我们通过Maven的依赖仲裁机制,在蚂蚁集团静态代码扫描平台-STC 和资产威胁透视-哈勃2款产品的联动合作下,很好的完成了直接依赖和间接依赖场景下的治理工作。但路还很远,新的场景层出不穷,故事还远远没有结束,我们要做的事情还非常多。
80 12
|
14天前
|
存储 XML Java
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
61 0
|
14天前
|
Java Maven
maven手动打包常用标签
maven手动打包常用标签
17 1
|
14天前
|
XML Java Maven
深入探讨Maven打包:打造精致的Zip包
本文介绍了如何使用Maven将Spring Boot项目打包并部署。首先,利用Maven Assembly Plugin创建包含JAR的ZIP文件,以便于部署和修改配置文件。该插件允许自定义打包内容和格式。在`package.xml`中定义了打包格式、依赖、脚本和资源文件的规则。接着,在POM.xml中配置插件,排除配置文件和静态资源以保持外部。最后,执行`mvn package`命令生成分发包,简化了项目的部署流程。
116 2
|
14天前
|
JSON Java Maven
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。
102 0

热门文章

最新文章

推荐镜像

更多