121 项目 008 笔记向 maven-study 经常使用插件

test

<reporting>
        <plugins>
            <!-- mvn cobertura:help 查看cobertura插件的帮助 -->
            <!-- mvn cobertura:clean 清空cobertura插件运行结果 -->
            <!-- mvn cobertura:check 运行cobertura的检查任务 -->
            <!-- mvn cobertura:cobertura 运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下 -->
            <!-- cobertura:dump-datafile Cobertura Datafile Dump Mojo -->
            <!-- mvn cobertura:instrument Instrument the compiled classes -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
            <!-- mvn surefire-report:report 生成 html 格式测试报告 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <showSuccess>true</showSuccess>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

其中 cobertura 能够生成测试覆盖率,这个算是我常用的一个插件了。html

maven-surefire-report-plugin 能够生成HTML格式的测试报告,不过我以为这个插件和gradle生成的HTML报告比起来真是弱爆了-_-#!java

package

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>helli-idea-package</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

这样你在运行 mvn:package 的时候就能够将源码与测试代码也打包成 jar 文件,并且主代码与测试代码是分开的,效果以下:git

输入图片说明

这个功能还不错,之后给别人代码的时候会很方便,不过我仍是以为git地址来得更加直接一点。web

部署插件

关于 maven 的与web容器有关的插件,我知道的有三个apache

  • jetty
  • cargo
  • tomcat7-maven-plugin

这其中jetty我没用过,cargo用着非常麻烦,最后一个是apache的,用起来最简单。tomcat

cargo 的资料:mvc

Maven使用Cargo实现自动化部署maven

tomcat7-maven-plugin 的使用可参考我以前的博客ide

Maven tomcat插件实现热病部署测试

compile

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

这个插件的做用就是配置开发时的编译环境,之前的时候我是配置在settings.xml中的,不过如今我会发尽可能地不去修改settings.xml文件

exec

<!-- 运行 java 类 -->
<!-- 必须先使用 mvc compile 编译 -->
<!-- mvn exec:java -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.4.0</version>
    <executions>
        <execution>
            <goals>
                <goal>java</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <mainClass>com.laolang.gongda.helloidea.cal.CalMain</mainClass>
        <!-- 能够加入命令行参数 -->
        <!--<arguments>-->
            <!--<argument>arg0</argument>-->
            <!--<argument>arg1</argument>-->
        <!--</arguments>-->
    </configuration>
</plugin>

这个插件能够比较方便的执行java的main方法。关于使用maven运行java main方法,能够参考下面的博客:

使用Maven运行Java main的3种方式

相关文章
相关标签/搜索