欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven常用打包配置

程序员文章站 2022-05-29 10:13:49
...

1. 打war包(支持同时将本地包打进war包中)

  • pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
            </resources>
            <testResources>
                <testResource>
                    <directory>src/main/resources</directory>
                </testResource>
            </testResources>
    
            <plugins>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>  <!--执行器 mvn assembly:assembly-->
    
                        <execution>
                            <id>make-war</id><!--名字任意 -->
                            <phase>package</phase><!-- 绑定到package生命周期阶段上 -->
                            <goals>
                                <goal>single</goal><!-- 只运行一次 -->
                            </goals>
                            <configuration>
                                <descriptors> <!--描述文件路径-->
                                    <descriptor>src/main/assembly/release-war.xml</descriptor>
                                </descriptors>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.5.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    
    • release-war.xml

    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
        <id>release</id>
        <formats>
            <format>war</format>
            <format>dir</format>
        </formats>
        <includeBaseDirectory>false</includeBaseDirectory>
        <dependencySets>
            <!-- 将项目依赖的JAR包输出到 WEB-INF/lib -->
            <dependencySet>
                <outputDirectory>WEB-INF/lib</outputDirectory>
                <useProjectArtifact>false</useProjectArtifact>
                <unpack>false</unpack>
            </dependencySet>
        </dependencySets>
        <fileSets>
            <fileSet>
                <directory>${project.build.outputDirectory}</directory>
                <outputDirectory>WEB-INF/classes</outputDirectory>
                <excludes>
                    <exclude>META-INF/resources/**</exclude>
                </excludes>
            </fileSet>
    
            <fileSet>
                <directory>${project.basedir}/src/main/resources/META-INF/resources</directory>
                <outputDirectory>/</outputDirectory>
            </fileSet>
    
    
            <fileSet>
                <directory>${project.basedir}/lib</directory>
                <outputDirectory>/WEB-INF/lib</outputDirectory>
            </fileSet>
        </fileSets>
    
    </assembly>
    

2. 打jar包(支持同时将本地包打进jar包中)

  • pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <build>
            <plugins>
                   <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <appendAssemblyId>false</appendAssemblyId>
                        <descriptors>
                            <descriptor>src/main/assembly/release-jar.xml</descriptor>
                        </descriptors>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                 <goal>assembly</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.5.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    
    • release-jar.xml

    <assembly>
        <id>jar-with-dependencies</id>
        <formats>
            <format>jar</format>
        </formats>
        <includeBaseDirectory>false</includeBaseDirectory>
        <dependencySets>
            <dependencySet>
                <outputDirectory>/</outputDirectory>
                <useProjectArtifact>true</useProjectArtifact>
                <unpack>true</unpack>
                <scope>runtime</scope>
            </dependencySet>
            <dependencySet>
                <outputDirectory>/</outputDirectory>
                <useProjectArtifact>true</useProjectArtifact>
                <unpack>true</unpack>
                <scope>system</scope>
            </dependencySet>
        </dependencySets>
    </assembly>
    
相关标签: maven package