【maven】插件和依赖管理

1.插件管理

  • 定义
    pluginManagement 用来做插件管理的。它是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件,pluginManagement声明可以被继承
  • 运用
    用来在父POM中定义,提供给子POM使用,子POM也可以覆盖这个定义,而且你在父POM中定义了版本之后,子模块中直接应用groupId和artifactId,而不用指定版本,同时也方便统一管理。
父POM
<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</pluginManagement>
子POM
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
    </plugin>
</plugins>
  • plugins的区别
    就是直接引入一个plugin,而且可以绑定到Maven相关的生命周期上

2.pluginManagement主要是为了统一管理插件,确保所有子POM使用的插件版本保持一致,类似dependencies和dependencyManagement。

3.maven默认插件

创建一个maven项目时,maven项目框架本身提供默认的基础插件,这些插件应用在Maven主要的生命周期(lifecycle)。

4.maven执行打包和运行等任务

有两种方式:

    • 执行Lifecycle 中的package等命令
       

使用第三方插件
(1)使用类似tomcat7插件,pom.xml文件中配置。

<plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                    <uriEncoding>UTF-8</uriEncoding>
                    <finalName>mobile</finalName>
                    <server>tomcat7</server>
                </configuration>
            </plugin>

(2)执行插件相关的命令:

(3)有一些特特殊情况,需要通过执行命令实现,比如测试代码不需要打包:
首先:先进行配置
在菜单栏Run---->Edit Configurations中,点击+为Maven进行配置,或者从右上角入口。
其次:配置情况:

最后:相关的命令:

  • 打包
    clean deploy -DskipTests
    clean package -DskipTests
  • 安装jar
    install -DskipTests
  • 运行
    tomcat7:run

猜你喜欢

转载自www.cnblogs.com/wpcnblog/p/11968936.html