maven总结

来源:互联网 发布:ibm软件 编辑:程序博客网 时间:2024/06/07 08:39

maven依赖分析

mvn dependency:analyze

maven生命周期

Maven生命周期是为了对所有的构建过程进行抽象和统一
Maven设计设计思想与设计模式中的模版方法非常相似。

三套生命周期
  1. clean生命周期
  2. default 生命周期
  3. site生命周期

maven插件

默认compile对应的插件maven-compiler-plugin
默认test对应的插件maven-surefire-plugin

maven继承聚合

聚合(多模块)是为了一条命令可以一次构建多个项目

<modules>    <module>dao</module>    <module>server</module></modules>

继承可以减少重复POM定义

<parent>    <artifactId>mycms</artifactId>    <groupId>com.my</groupId>    <version>1.0-SNAPSHOT</version></parent>

maven属性

内置属性

${basedir} 项目根目录${version} 项目版本

POM属性,可以引用POM文件中对应元素的值

${project.version} = ${version}${project.artifactId} ${project.build.finalName}项目打包输出的名称,默认为${project.artifact}-${project.version}

自定义属性

<properties>    <spring.version>3.6.5</spring.version></properties>

Settings 属性,可以使用settings开头引用settings.xml文件中XML元素的值

${settings.localRepository} 本地仓库的地址

Java系统属性,所有Java系统属性都可以使用Maven属性引用

${user.home} 用户目录

环境变量属性,所有环境变量都可以使用env.引用

${env.JAVA_HOME}

资源过滤

Maven属性默认只会在POM中解析,资源文件如果用到了,需要使用maven-resources-plugin插件并开启filtering“

<resources>    <resource>        <directory>src/main/resources</directory>        <filtering>true</filtering>    </resource></resources>

profile

命令行激活

<profiles>    <profile>        <id>online</id>        <properties>            <profiles.active>online</profiles.active>        </properties>    </profile>    <profile>        <id>test</id>        <properties>            <profiles.active>test</profiles.active>        </properties>    </profile></profiles>
mvn clean install  -Ponline
  • settings 文件显示激活
  <activeProfiles>    <activeProfile>online</activeProfile>  </activeProfiles>

系统属性激活

<profile>    <id>online</id>    <properties>        <profiles.active>online</profiles.active>    </properties>    <activation>        <property><name>profile</name><value>online</value></property>    </activation></profile>mvn clean install -Dprofile=online

操作系统环境

<profile>    <id>online</id>    <properties>        <profiles.active>online</profiles.active>    </properties>    <activation>        <os>            <name>Mac OS X</name>            <family>Mac</family>            <arch>x86_64</arch>            <version>10.12.5</version>        </os>    </activation></profile>

默认激活
`
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
使用了任何其他的方式激活,则默认激活都会失效

原创粉丝点击