Maven 自动配置与插件
2022-08-25 本文已影响0人
Tinyspot
auto-config.xml
<config>
<group>
<property name="local.host" defaultValue="127.0.0.1" description="datasource master host" />
</group>
<script>
<generate template="application.properties.vm" destfile="application.properties" />
</script>
</config>
编写 pom.xml 文件引入 autoconfig 插件
<plugin>
<groupId>com.alibaba.citrus.tool</groupId>
<artifactId>autoconfig-maven-plugin</artifactId>
<version>1.2</version>
</plugin>
编译打包:
(1)您需要现在更新此文件吗?[Yes][No] : yes
(2)请选择 [1-3][Quit][Next]: 输入 quit 按回车
(3)即将保存到文件 "file:/......" 中,确定?[Yes][No] : 输入 yes 按回车
Maven插件
Maven的生命周期是抽象的,其实际行为都由插件来完成
// 在父工程添加编译插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
插件目标(Plugin Goal)
- dependency:tree
- -D参数,并伴随一个参数键=参数值的形式,来配置插件目标的参数
- 目标前缀(Goal Prefix)
Maven Archetype Plugin
- Maven 3
mvn archetype:generate
- maven-archetype-quickstart
- mvn archetype:generate
- 自定义一个 Archetype
- While prototype and archetype are often used interchangeably, they really mean quite different things. An
archetype
is a perfect and unchanging form that existing things or people can approach but never duplicate (: the archetype of a mother), while aprototype
is an early, usually unrefined version of something that later versions reflect but may depart from (: a prototype for a hydrogen-fueled car).
command
mvn spring-boot:run
mvn [plugin-name]:[goal-name]
mvn tomcat7:run # eg. 在tomcat容器中运行web应用
* -D `mvn package -Dmaven.test.skip=true`
* -p 指定 profile 配置
版本管理(Version Management)和版本控制(Version Control)
- 版本管理是指项目整体版本的演变过程管理,如从1.0-SNAPSHOT到1.0,再到1.1-SNAPSHOT。版本控制是指借助版本控制工具(如Subversion)追踪代码的每一个变更
- 主干(trunk)、标签(tag)和branch(分支)