• maven-assembly-plugin 打包简单案例


    简单项目
    1. maven  netty  lomback 
     
    包含项目依赖
    <dependencies>
    <dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.1.9.Final</version>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
    </dependency>
    </dependencies>
     
    2. 几个打包插件使用
     
    依赖管理、依赖剔除处理、启动函数处理

     

    <build>
    <plugins>
    <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <source>1.6</source>
    <target>1.6</target>
    <encoding>UTF-8</encoding>
    <compilerArguments>
    <extdirs>lib/</extdirs>
    </compilerArguments>
    </configuration>
    </plugin>
    <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
    <execution>
    <id>make-assembly</id>
    <phase>package</phase>
    <goals>
    <goal>single</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    <archive>
    <manifest>
    <mainClass>com.dalong.netty.MyMain</mainClass>
    </manifest>
    </archive>
    <!--<descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>-->
    <descriptors><!--描述文件路径-->
    <descriptor>src/main/assembly/assembly.xml</descriptor>
    </descriptors>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
    <archive>
    <manifest>
    <addClasspath>true</addClasspath>
    <classpathPrefix>lib/</classpathPrefix>
    <mainClass>com.dalong.netty.MyMain</mainClass>
    </manifest>
    </archive>
    <excludes>
    <exclude>**/*.conf</exclude>
    </excludes>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
    <execution>
    <id>copy-dependencies</id>
    <phase>prepare-package</phase>
    <goals>
    <goal>copy-dependencies</goal>
    </goals>
    <configuration>
    <outputDirectory>${project.build.directory}/lib</outputDirectory>
    <overWriteReleases>false</overWriteReleases>
    <overWriteSnapshots>false</overWriteSnapshots>
    <overWriteIfNewer>true</overWriteIfNewer>
    <excludeScope>provided</excludeScope>
    </configuration>
    </execution>
    </executions>
    </plugin>
    <plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.16.18.0</version>
    <executions>
    <execution>
    <phase>generate-sources</phase>
    <goals>
    <goal>delombok</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    </build>
    

      

    3.  assembly.xml 文件定义
     
    文件别名、配置拷贝
    <assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>mydemo</id>
    <includeBaseDirectory>true</includeBaseDirectory>
    <formats>
    <format>zip</format>
    </formats>
    <fileSets>
    <fileSet>
    <directory>${project.basedir}srcmain
    esources</directory>
    <outputDirectory>conf/</outputDirectory>
    </fileSet>
    <fileSet>
    <directory>${project.basedir}	argetlib</directory>
    <outputDirectory>lib/</outputDirectory>
    </fileSet>
    </fileSets>
    <files>
    <file>
    <outputDirectory>/</outputDirectory>
    <source>${project.basedir}	argetwebsocket-server-0.0.1-SNAPSHOT.jar</source>
    <destName>websocket-server.jar</destName>
    </file>
    </files>
    </assembly>

     

    4. 打包构建
     
    mvn clean compile package
    

       

    5. 参考说明
     
     
  • 相关阅读:
    【字符串】C语言_字符串常量详解
    2138=数据结构实验之图论三:判断可达性
    3363=数据结构实验之图论七:驴友计划
    1916=字符串扩展(JAVA)
    2140=数据结构实验之图论十:判断给定图是否存在合法拓扑序列
    3364=数据结构实验之图论八:欧拉回路
    2138=数据结构实验之图论三:判断可达性
    2271=Eddy的难题(JAVA)
    2246=时间日期格式转换(JAVA)
    2804=数据结构实验之二叉树八:(中序后序)求二叉树的深度
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7206017.html
Copyright © 2020-2023  润新知