首页 > 其他 > 详细

assembly插件的使用

时间:2016-06-09 01:01:27      阅读:291      评论:0      收藏:0      [点我收藏+]

1、在项目的pom文件中引入

<profiles>
		<profile>
			<id>release</id>
			<activation>
				<property>
					<name>env</name>
					<value>release</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-assembly-plugin</artifactId>
						<executions>
							<execution>
								<id>linux64</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<descriptors>
										<descriptor>src/main/assembly/release-linux64.xml</descriptor>
									</descriptors>
									<finalName>${project.artifactId}</finalName>
									<outputDirectory>${project.parent.build.directory}</outputDirectory>
								</configuration>
							</execution>

							<execution>
								<id>linux32</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<descriptors>
										<descriptor>src/main/assembly/release-linux32.xml</descriptor>
									</descriptors>
									<finalName>${project.artifactId}</finalName>
									<outputDirectory>${project.parent.build.directory}</outputDirectory>
								</configuration>
							</execution>
							<execution>
								<id>win64</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<descriptors>
										<descriptor>src/main/assembly/release-win64.xml</descriptor>
									</descriptors>
									<finalName>${project.artifactId}</finalName>
									<outputDirectory>${project.parent.build.directory}</outputDirectory>
								</configuration>
							</execution>

							<execution>
								<id>win32</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<descriptors>
										<descriptor>src/main/assembly/release-win32.xml</descriptor>
									</descriptors>
									<finalName>${project.artifactId}</finalName>
									<outputDirectory>${project.parent.build.directory}</outputDirectory>
								</configuration>
							</execution>



						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>



下面以 <id>linux64</id>的打包为例,展开讲解,linux32,win64,win32的类似


src/main/assembly/release-linux64.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>linux64</id>
	<formats>
		<format>tar.gz</format>
	</formats>
	<includeBaseDirectory>true</includeBaseDirectory>
	<componentDescriptors>
		<componentDescriptor>src/main/assembly/component-linux64.xml</componentDescriptor>
	</componentDescriptors>
</assembly>


src/main/assembly/component-linux64.xml文件内容如下:


<component>
	<fileSets>
		<fileSet>
			<directory>.</directory>
			<outputDirectory>/</outputDirectory>
			<includes>
				<include>README*</include>
			</includes>
		</fileSet>
		<fileSet>
			<directory>./linux64/bin</directory>
			<outputDirectory>bin</outputDirectory>
			<includes>
				<include>**/*</include>
			</includes>
			<fileMode>0755</fileMode>
		</fileSet>
		<fileSet>
			<directory>target</directory>
			<outputDirectory>logs</outputDirectory>
			<excludes>
				<exclude>**/*</exclude>
			</excludes>
		</fileSet>
		<fileSet>
			<directory>./linux64/include</directory>
			<outputDirectory>include</outputDirectory>
			<includes>
				<include>**/*</include>
			</includes>
		</fileSet>
		<fileSet>
			<directory>./linux64/jdk</directory>
			<outputDirectory>jdk</outputDirectory>
			<includes>
				<include>**/*</include>
			</includes>
		</fileSet>
	</fileSets>
	<files>
	<!--
		<file>
			<source>../client-core/src/main/resources/logback.xml</source>
			<outputDirectory>conf</outputDirectory>
		</file>
		
		-->
		
		<file>
			<source>./target/client-deployer-0.0.1-SNAPSHOT.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>
		
		<file>
			<source>./lib/logback-access-0.9.28.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>

		<file>
			<source>./lib/logback-classic-0.9.28.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>


		<file>
			<source>./lib/logback-core-0.9.28.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>

		<file>
			<source>./lib/slf4j-api-1.7.2.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>

		<file>
			<source>./lib/fastjson-1.1.35.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>


		<file>
			<source>./lib/commons-exec-1.3.jar</source>
			<outputDirectory>include</outputDirectory>
		</file>
		<file>
			<source>./src/main/resources/version.properties</source>
			<outputDirectory>conf</outputDirectory>
		</file>
		<file>
			<source>./src/main/resources/wrapper.conf</source>
			<outputDirectory>conf</outputDirectory>
		</file>
		
		<file>
			<source>./src/main/resources/logback.xml</source>
			<outputDirectory>conf</outputDirectory>
		</file>
		<file>
			<source>../core/src/main/resources/client.properties</source>
			<outputDirectory>conf</outputDirectory>
		</file>
	</files>
	<dependencySets>
		<dependencySet>
			<outputDirectory>lib</outputDirectory>
			<excludes>
				<exclude>junit:junit</exclude>
				<exclude>org.jtester:jtester</exclude>
				<exclude>com.cninfo:client-deployer</exclude>
				
			</excludes>
		</dependencySet>
	</dependencySets>
</component>


本文出自 “小鱼的博客” 博客,谢绝转载!

assembly插件的使用

原文:http://395469372.blog.51cto.com/1150982/1787496

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!