• 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. 参考说明
     
     
  • 相关阅读:
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Python eval() 函数
    Python repr() 函数
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7206017.html
Copyright © 2020-2023  润新知