使用assembly将maven项目pom.xml中的jar包打包

Posted on 2013-11-01 19:13  炫谷  阅读(26597)  评论(0编辑  收藏  举报

参考官方网站:http://maven.apache.org/plugins/maven-assembly-plugin/usage.html

方法一:将pom.xml引入的jar包打到zip文件夹中

  1、pom.xml的配置

<!-- 打包配置 start -->
	<build>
		<plugins>
			<plugin>
				<!-- NOTE: We don't need a groupId specification because the group is 
					org.apache.maven.plugins ...which is assumed by default. -->
				<artifactId>maven-assembly-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<descriptors>
						<descriptor>src/main/assembly/src.xml</descriptor>
					</descriptors>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
				</configuration>
				<executions>
					<execution>
						<id>make-assembly</id> <!-- this is used for inheritance merges -->
						<phase>package</phase> <!-- bind to the packaging phase -->
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

  2、src.xml文件内容

<assembly 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/assembly-1.0.0.xsd">
    <id>package</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/bin</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/config</directory>
            <outputDirectory>config</outputDirectory>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

  方法1能把所有引入的包打成jar包,方便自己保存和引入。

  3、最后一步

  cmd进入在项目根目录下,键入“mvn package”,OK完事!

方法二:将pom引入的jar包打进你的项目工程jar包内

  1、pom.xml的配置

<!-- 打包配置 start -->
	<build>
		<!-- <finalName>im-dal-service</finalName>
		<sourceDirectory>src/main/java</sourceDirectory>
		<resources>
			控制资源文件的拷贝
			<resource>
				<directory>src/main/resources</directory>
				<targetPath>${project.build.directory}</targetPath>
			</resource>
		</resources> -->
		<plugins>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptors>
						<descriptor>src/main/assembly/src.xml</descriptor>
					</descriptors>
				</configuration>
			</plugin>
		</plugins>

	</build>

  2、src.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>jar-with-dependencies</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>false</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>/lib</directory>
    </fileSet>
  </fileSets>
</assembly>

  3、最后一步

  cmd进入在项目根目录下,键入“mvn assembly:assembly”,OK完事!

Copyright © 2024 炫谷
Powered by .NET 9.0 on Kubernetes