Maven插件介绍

  • 介绍
Maven之所以流行,除了它由包管理的能力外,非常重要的一点就是它的插件机制。幸运滴是,现在已经有很多好用的插件可以直接拿来的。
  • 缺省变量
${basedir} 项目根目录
  • 编译
[codesyntax lang="xml"]
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.1</version>
	<configuration>
		<source>1.6</source>
		<target>1.6</target>
		<encoding>UTF-8</encoding>
	</configuration>
</plugin>
[/codesyntax]  
  • 生成可执行jar包
[codesyntax lang="xml"]
<build>
	<finalName>surenpi.com.toolkit</finalName>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<version>2.4</version>
			<configuration>
				<archive>
					<manifest>
						<addClasspath>true</addClasspath>
						<classpathPrefix>lib</classpathPrefix>
						<mainClass>org.suren.main.StartUp</mainClass>
					</manifest>
				</archive>
			</configuration>
		</plugin>
	</plugins>
</build>
[/codesyntax] 上面的finalName当然就是生成的文件名前缀了(surenpi.com.toolkit.jar),manifest的内容就是jar文件中的manifest了。 更多有关该插件的内容,请看这里。
  • 拷贝依赖
下面的配置会将所有的maven依赖jar文件拷贝到项目的target目录下 [codesyntax lang="xml"]
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-dependency-plugin</artifactId>
	<executions>
		<execution>
			<id>copy</id>
			<phase>package</phase>
			<goals>
				<goal>copy-dependencies</goal>
			</goals>
			<configuration>
				<outputDirectory>${project.build.directory}</outputDirectory>
			</configuration>
		</execution>
	</executions>
</plugin>
[/codesyntax]   下面的配置会将所有的maven依赖的包结构拷贝到生成的jar文件中,并添加manifest信息 [codesyntax lang="xml"]
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-assembly-plugin</artifactId>
	<executions>
		<execution>
			<id>make-assembly</id>
			<goals>
				<goal>single</goal>
			</goals>
			<phase>package</phase>
			<configuration>
				<descriptorRefs>
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
				<archive>
					<addMavenDescriptor>true</addMavenDescriptor>
					<manifest>
						<mainClass>org.suren.main.StartUp</mainClass>
					</manifest>
				</archive>
			</configuration>
		</execution>
	</executions>
</plugin>
[/codesyntax]  
  • jarsigner签名
[codesyntax lang="xml"]
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<version>2.4</version>
	<executions>
		<execution>
			<id>sign</id>
			<goals>
				<goal>sign</goal>
			</goals>
			<phase>install</phase>
			<configuration>
				<alias>suren</alias>
				<storepass>suren</storepass>
				<keystore>${basedir}/key</keystore>
				<jarPath>${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar
				</jarPath>
			</configuration>
		</execution>
	</executions>
</plugin>
[/codesyntax] 这个插件对于JNLP来说挺有用的。  
  • 参考
要想自己写一Maven插件的童鞋,可以看这里。 在eclipse中使用Maven插件的常见问题

转载于:https://my.oschina.net/surenpi/blog/604827

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值