[Maven学习笔记8]Maven常用插件应用

[Maven学习笔记八]Maven常用插件应用

1.maven-compiler-plugin

参考:http://maven.apache.org/plugins/maven-compiler-plugin/

在多人项目中,比较好的开发实践是项目本身指定JDK的版本,而不是项目组中的每个成员自己来指定。每个人使用的JDK版本不一致,导致代码的编译问题时有发生。

Maven中,可以使用maven-compiler-plugin来指定项目的jdk版本,

在用户管理这个web应用中,有一个聚合和父模块user-project和三个功能模块

user-project

    user-core

    user-service

    user-web

 

我们可以为每个模块添加maven-compiler-plugin的版本控制,但是这样一来,重复代码甚多,如果要更改JDK的版本,每个功能模块的pom.xml都要修改一次,更合理的做法是在父模块user-project中进行定义,功能模块继承它,这类似于依赖的继承,在user-project的pom中添加如下代码:

 

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <!--指定代码1.6版本兼容->
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

 

在user-core,user-service和user-web中,分别做如下定义以继承user-project的maven-compiler-plugin的配置

 

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>

 

问题:

做如上定义后,在user-core中使用JDK7的类,如ForkJoinPool,没有编译错,编译能成功,这是为什么??

 

2.maven-rar-plugin

对指定的目录打rar包,参考http://maven.apache.org/plugins/maven-rar-plugin/

 

3. TBD