Maven打包方式之assembly

本文详细介绍如何使用Maven的assembly插件进行自定义打包,包括配置描述符文件、指定打包类文件、加入依赖等内容。通过示例展示了如何定义打包格式、指定文件集和依赖集,实现将特定类及其依赖项打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.这是楼主刚学会的打包方式,来分享下

    <build>
        <plugins>
            <plugin>
                <!--自定义打包插件-->
                <artifactId>maven-assembly-plugin</artifactId>
                <version>1.1.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <!--指定打包类文件-->
                            <mainClass>com.**.data.TJLoanInfomationDetail</mainClass>
                        </manifest>
                    </archive>
                    <!-- 配置描述符文件 -->
                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                    <!--加入依赖-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

2.这种打包方式呢,很简单,只需要在pom文件中加入依赖就可以;

3. maven-assembly-plugin 插件是当前使用最多的插件之一,主要功能就是自定义:就是可以单独打包某一个类,并且打包这个类所依赖的其他jar包,例如xml、数据库脚本、properties等;

4. formats是assembly插件支持的打包文件格式,有zip、tar、tar.gz、jar、war。可以同时定义多个format;

5. fileSets 指定多个文件 fileSet {源代码路径/包含文件/生成目录等};

6. files 指定单个文件;

7. dependencySets 设置工程依赖文件在打包时的属性;

8. 具体在assembly.xml文件中有介绍;

<assembly>
	<!--唯一id-->
    <id>assembly</id>
	<!--打包方式 可以定义多个format-->
    <formats>
        <format>jar</format>
    </formats>

    <includeBaseDirectory>true</includeBaseDirectory>

	<!--指定多个文件-->
    <fileSets>
        <fileSet>
			<!--源目录路径-->
            <directory>src/main/bin</directory>
			<!--设定包含文件-->
            <includes>
                <include>*.sql</include>
            </includes>
			<!--生成文件目录-->
            <outputDirectory>bin</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>

        <fileSet>
            <directory>target/classes/</directory>
            <includes>
                <include>*.properties</include>
                <include>*.xml</include>
                <include>*.txt</include>
            </includes>
            <outputDirectory>conf</outputDirectory>
        </fileSet>
    </fileSets>

	<!--可以指定单个文件-->
    <files>
        <file>
            <source>target/${project.artifactId}-${project.version}.jar</source>
            <outputDirectory>.</outputDirectory>
        </file>
    </files>

	<!--设置工程依赖文件在打包时的属性-->
    <dependencySets>
        <dependencySet>
			<!--false表示将依赖以原来的JAR形式打包,true则表示将依赖解成*.class文件的目录结构打包-->
            <unpack>false</unpack>
			<!--表示符合哪个作用范围的依赖会被打包进去。compile与provided都不用管,一般是写runtime-->
            <scope>runtime</scope>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值