`

Maven的几个常用plugin

 
阅读更多

 

maven-compiler-plugin

编译Java源码,一般只需设置编译的jdk版本

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.6.0</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

 或者在properties设置jdk版本

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
 </properties>

 

maven-dependency-plugin

用于复制依赖的jar包到指定的文件夹里

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.10</version>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

maven-jar-plugin

打成jar时,设定manifest的参数,比如指定运行的Main class,还有依赖的jar包,加入classpath中

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>/data/lib</classpathPrefix>
                <mainClass>com.zhang.spring.App</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

 maven-antrun-plugin

在maven中运行Ant任务,比如在打包阶段,对文件进行复制

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target name="copy">
                    <delete>
                        <fileset dir="target" includes="*.properties"></fileset>
                    </delete>
                    <copy todir="target">
                        <fileset dir="files"></fileset>
                    </copy>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>

wagon-maven-plugin

用于一键部署,把本地打包的jar文件,上传到远程服务器上,并执行服务器上的shell命令

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>wagon-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <serverId>crawler</serverId>
        <fromDir>target</fromDir>
        <includes>*.jar,*.properties,*.sh</includes>
        <url>sftp://59.110.162.178/home/zhangxianhe</url>
        <commands>
            <command>chmod 755 /home/zhangxianhe/update.sh</command>
            <command>/home/zhangxianhe/update.sh</command>
        </commands>
        <displayCommandOutputs>true</displayCommandOutputs>
    </configuration>
</plugin>

tomcat7-maven-plugin

用于远程部署Java Web项目

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://59.110.162.178:8080/manager/text</url>
        <username>linjinbin</username>
        <password>linjinbin</password>
    </configuration>
</plugin>

 maven-shade-plugin

用于把多个jar包,打成1个jar包

一般Java项目都会依赖其他第三方jar包,最终打包时,希望把其他jar包包含在一个jar包里

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.4.3</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <transformers>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <manifestEntries>
                            <Main-Class>com.meiyou.topword.App</Main-Class>
                            <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
                            <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
                        </manifestEntries>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>
分享到:
评论

相关推荐

    maven-eclipse-plugin

    【maven-eclipse-plugin】是Maven生态中的一个重要插件,它主要负责将Maven项目导入Eclipse这样的IDE中,以便于开发人员进行便捷的开发和管理。在使用Maven时,理解并熟练掌握这个插件的使用对于提高开发效率至关...

    Maven SVN Revision Number Plugin官方英文文档

    而Maven SVN Revision Number Plugin提供了这个功能,它能够将SVN的修订版本号插入到构建输出、资源文件或者POM属性中。这样,当项目部署时,用户可以通过查看这些信息了解到项目的具体版本,便于追踪和管理。 使用...

    官方下载maven-3.5.4

    在提供的压缩包文件中,我们可以看到以下几个关键文件和目录: 1. **LICENSE**:包含了 Maven 的许可协议,通常为 Apache License 2.0,允许用户免费使用、修改和分发软件。 2. **NOTICE**:通知用户关于软件中...

    maven3.6.2版本

    在Maven 3.6.2中,有几个显著的改进和修复。其中,性能优化是一个关键点。相比前一版本,3.6.2提高了构建速度,减少了内存消耗,使得大型项目构建更加流畅。此外,它还增强了对多模块项目的支持,使得在大型企业级...

    source-overlay-maven-plugin-1.10.4.zip

    结合上述信息,我们可以深入了解以下几个知识点: 1. **Maven插件系统**:Maven通过插件扩展其功能,Source Overlay Maven插件是其中之一,用于在构建过程中处理源代码,可能适用于在打包或部署时添加额外的源代码...

    maven常见问题及解决办法

    本文将针对几个常见的Maven问题及其解决方法进行详细解析。 #### 问题1:依赖解析失败 **错误信息示例**: ``` [ERROR] Failed to execute goal on project biz_zhuhai: Could not resolve dependencies for ...

    apache-maven-3.8.4安装包

    在安装Apache Maven 3.8.4时,通常包括以下几个步骤: 1. 下载`apache-maven-3.8.4`压缩包。 2. 解压到你选择的安装目录。 3. 配置环境变量,包括设置`Maven_HOME`指向解压后的目录,并将`bin`子目录添加到`PATH`...

    maven常用命令以及以个测试项目

    Maven的生命周期分为几个阶段,如compile、test、package、install、deploy等,你可以直接执行这些阶段,例如`mvn install`就包含了compile、test和package阶段。 ### Maven测试项目 在“test”这个文件中,通常...

    maven-repository.zip

    安装Maven通常包括以下几个步骤:下载这个zip文件,解压到指定目录,配置环境变量(如`M2_HOME`和`PATH`),最后验证安装是否成功(通过运行`mvn -version`命令)。安装完成后,开发者可以通过Maven执行诸如构建、...

    maven项目编译jar包

    本文将深入探讨如何使用Maven来编译并创建一个JAR(Java Archive)包,主要涉及以下几个方面: 1. **Maven简介**: Maven是Apache软件基金会开发的一个项目管理工具,它通过一个统一的方式来管理项目的构建、报告...

    IDEA插件集合plugin离线包

    IDEA插件集合,提供几个常用的插件,省去下载安装的麻烦,目的只是跟大家提供一个方便. Alibaba Java Coding Guidelines idea-gitignore FindBugs-IDEA-1.0.1 LiveEdit MavenRunHelper MyBatis plugin 3.154 tomcat ...

    spring_annotation maven 的配置

    在Spring项目中,Maven的配置主要涉及以下几个方面: 1. **POM.xml**:项目的核心配置文件,包含项目信息、依赖、构建等设置。 2. **依赖管理**:在POM.xml中添加Spring框架及相关库的依赖,例如: ```xml ...

    maven2的学习记录.docx

    Maven2 项目结构主要分为以下几个部分: * 项目目录(Project Directory):包含项目的所有文件和目录。 * 源码目录(Source Directory):包含项目的源码文件。 * 目标目录(Target Directory):包含项目的编译...

    maven 资源

    Maven的工作流程通常分为以下几个阶段: 1. **初始化**:设置编译环境,生成默认的POM和构建目录结构。 2. **清理**:删除上一次构建生成的临时文件和目标目录。 3. **编译**:将源代码编译为类文件。 4. **测试**:...

    maven项目打包

    在给定的文件列表中,我们可以看到几个与打包操作相关的批处理文件: 1. `yesrunner-service-D.bat`:这个文件可能是用来启动或停止服务的,其中`-D`通常用于传递系统属性到Java命令行,可能包含了运行服务所需的...

    closure-compiler-maven-plugin:Maven 插件,用于使用 Google 的 Closure 编译器编译压缩 JavaScript 代码

    使用Closure-Compiler-Maven-Plugin的步骤通常包括以下几步: 1. 添加依赖:在你的项目pom.xml文件中,需要添加插件的依赖。确保指定正确的版本号,以获得最新的功能和修复。 ```xml &lt;plugin&gt; &lt;groupId&gt;...

    3.5.3版本的maven包

    这通常包括以下几个步骤: 1. **下载与解压**:首先从Apache官方网站下载Maven 3.5.3的压缩包,然后解压到你选择的目录。 2. **设置Maven_HOME**:将解压后的路径添加到系统的环境变量`Maven_HOME`中。 3. **添加到...

    maven学习记录

    典型的Maven项目结构包括以下几个主要部分: - **src/main/java**:存放主程序代码。 - **src/main/resources**:存放主程序资源文件,如配置文件等。 - **src/test/java**:存放单元测试代码。 - **src/test/...

    maven安装包,工作常用

    Maven 主要有以下几大功能: - **依赖管理**:Maven 可以自动下载项目所需的库文件,包括JAR包和其他资源文件。 - **构建工具**:它支持编译、测试、打包、部署等生命周期阶段。 - **项目信息管理**:Maven 可以通过...

Global site tag (gtag.js) - Google Analytics