Maven之常用插件

1. maven-compiler-plugin

    编译Java源码,设置编译的JDK版本

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.6.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

2. 打包时加入依赖的Jar包

    2.1 maven-assembly-plugin

       · 如下设置,同时指定可运行的Main-Class

<plugin>
	<artifactId>maven-assembly-plugin</artifactId>
	<configuration>
		<descriptorRefs>
			<descriptorRef>jar-with-dependencies</descriptorRef>
		</descriptorRefs>
		<archive>
			<manifest>
				<mainClass>sample.Main</mainClass>
			</manifest>
		</archive>
	</configuration>
	<executions>
		<execution>
			<id>make-assembly</id>
			<phase>package</phase>
			<goals>
				<goal>single</goal>
			</goals>
		</execution>
	</executions>
</plugin>

    2.2 maven-shade-plugin

        · 对于2.1中maven-assembly-plugin,存在一个bug,对于工程中依赖不同版本的Spring时,在使用assembly进行打包时,只能将某一个版本的jar包下的Spring.schemas文件放入最终打包的jar包中,这就有可能遗漏了一些版本的xsd的本地映射,从而会导致运行时报错,可以通过如下的配置,在进行打包时,对spring.schemas文件的处理上,能够将所有jar中的spring.schemas文件进行合并,在最终生成的单一jar包里,spring.schemas包含了所有出现过的版本的集合。

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>1.4</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <resource>META-INF/spring.handlers</resource>  
                    </transformer>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <mainClass>com.chenzhou.examples.Main</mainClass>  
                    </transformer>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <resource>META-INF/spring.schemas</resource>  
                    </transformer>  
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>  

3. maven-resources-plugin

    

<plugin>
	<artifactId>maven-resources-plugin</artifactId>
	<version>2.5</version>
	<executions>
		<execution>
			<id>copy-xmls</id>
			<phase>process-sources</phase>
			<goals>
				<goal>copy-resources</goal>
			</goals>
			<configuration>
				<outputDirectory>${basedir}/target/classes</outputDirectory>
				<resources>
					<resource>
                        <directory>${basedir}/src/main/java</directory>
						<includes>
							<include>**/*.xml</include>
						</includes>
					</resource>
				</resources>
			</configuration>
		</execution>
	</executions>
</plugin>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven是一个功能强大的项目管理工具,可以帮助我们自动化构建、编译和打包项目。Maven提供了一种称为插件(plugins)的机制,可以扩展其功能。下面是一些常用Maven编译打包插件: 1. Maven Compiler Plugin:该插件用于编译Java源代码。它默认使用Java编译器进行编译,但也支持其他编译器,如Groovy等。可以通过配置插件的参数来指定编译的源码路径、目标版本等。 2. Maven Surefire Plugin:该插件用于运行项目中的单元测试。它会自动搜索项目中的测试类,并执行这些测试类中的测试方法。可以通过配置插件的参数来指定测试类的匹配规则、报告输出等。 3. Maven Javadoc Plugin:该插件用于生成项目的API文档。它会根据项目中的源代码和Javadoc注释生成HTML格式的文档,并可以通过配置插件参数来指定输出路径、是否包含私有成员等。 4. Maven Source Plugin:该插件用于生成项目的源代码包。它会将项目中的源代码打包成一个压缩文件,供其他开发人员使用。可以通过配置插件参数来指定输出路径、是否包含测试代码等。 5. Maven Jar Plugin:该插件用于将项目打包成一个可执行的JAR文件。它会将项目中的编译后的类文件、资源文件等打包到JAR文件中,并可以通过配置插件参数来指定JAR文件的名称、包含的内容等。 这些插件可以通过在项目的pom.xml文件中配置来启用和使用。例如,可以在`<build>`标签下的`<plugins>`标签中添加相应的插件配置。具体的插件配置和参数可以参考Maven官方文档或插件的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值