Maven(三) Maven 常见插件、常用命令、项目名规范

一、 Maven 中的常见插件


1 Maven 内置插件

Maven 自身拥有很多内置插件,每一个内置插件都代表了 Maven 的一种行为。Maven在管理项目整个生命周期时,在不同的阶段处理的过程都是使用插件来具体完成。如:构建项目时使用构建插件、编译项目时使用编译插件、清除构建使用清除构建的插件、测试项目时使用测试插件、打包时使用资源拷贝插件以及打包插件。

我们可以在不同阶段使用 Maven 中的不同命令来触发不同的插件来执行不同的工作。换言之,Maven 的插件是需要依赖命令来执行的。

Maven 在管理插件时也是通过坐标的概念和管理依赖的方式相同,通过坐标来定位唯一的一个插件。

在一般情况下,我们不需要额外配置 Maven 的内置插件,除非我们需要对插件做额外配置时才需要配置内置插件。如果我们重新配置了内置插件,那么则以我们配置的为主。Maven 的插件配置需要在 pom.xml 文件中的<build>标签中使用<plugins>来配置。

现在在很多的 IDE 中都已经把 Maven 的常用命令通过界面中的按钮来体现,我们只要点击相应的按钮就等同于执行了相应的命令。

1.1 配置编译插件

1.1.1 在 setings.xml 中配置全局编译插件

<profile>
	<!-- 定义的编译器插件 ID,全局唯一 -->
	<id>jdk-1.8</id>
	<!-- 插件标记,activeByDefault 默认编译器,jdk 提供编译器版本 -->
	<activation>
		<activeByDefault>true</activeByDefault>
		<jdk>1.8</jdk>
	</activation>
	<!-- 配置信息 source-源信息,target-字节码信息,compilerVersion-编译过程版本 -->
	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
	</properties>
</profile>

1.1.2 在 pom.xml 文件中配置局部的编译插件

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.8.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</build>

1.2 资源拷贝插件

Maven 在打包时默认只将 src/main/resources 里的配置文件拷贝到项目中并做打包处理,而非 resource 目录下的配置文件在打包时不会添加到项目中。我们在使用 MyBatis时,如果接口与 Mapper 文件在同一个目录中,在默认的情况下 Maven 打包的时候,对于src/main/java 目录只打包源代码,而不会打包其他文件。所以 Mapper 文件不会打包到最终的 jar 文件夹中,也不会输出到 target 文件夹中,此时运行代码操作数据库时会报异常。

解决方案:

1) 将 Mapper 文件放入到 resources 目录中。

2) 配置资源拷贝插件,指定其拷贝文件的位置。

<resources>
	<resource>
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.xml</include>
		</includes>
	</resource>
	<resource>
		<directory>src/main/resources</directory>
		<includes>
			<include>**/*.xml</include>
			<include>**/*.properties</include>
		</includes>
	</resource>
</resources>

2 扩展插件

2.1Tomcat 插件

Tomcat 插件是 Maven 的扩展插件,其作用是为基于 Maven 开发的 Web 项目提供一个内置的 Tomcat 支持,这样我们在开发阶段可以不在依赖外部的 Tomcat 来运行 Web 项目,该插件目前使用的 Tomcat 版本为 Tomcat7。该插件的作用很强大,除了提供了 Tomcat以外,还可以通过该插件实现项目的远程热部署。

<!-- 配置 Tomcat 插件 -->
<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.2</version>
	<configuration>
		<!-- 配置 Tomcat 监听端口 -->
		<port>8080</port>
		<!-- 配置项目的访问路径 (Application Context) -->
		<path>/</path>
	</configuration>
</plugin>

2.2 Mybatis Generator 插件

Mybatis Generator 插件可以根据数据库自动生成实体类、单表查询接口映射 xml 文件以及 POJO。

2.2.1 创建 Users 表

CREATE TABLE `users` (
`userid` int(11) NOT NULL,
`username` varchar(20) DEFAULT NULL,
`userage` int(11) DEFAULT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.2.2 修改 POM 文件,添加插件

<!-- 配置 Generator 插件 -->
<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.5</version>
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.38</version>
		</dependency>
	</dependencies>
	<!-- 指定配置文件的路径 -->
	<configuration>
		<configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
		<verbose>true</verbose>
		<overwrite>true</overwrite>
	</configuration>
</plugin>

2.2.3 添加 generator 配置文件

2.2.4 添加 generator 配置文件的 DTD 文件

2.2.5 运行 generator 插件生成代码


3 插件管理

在 Maven 中提供了和依赖管理相同的方式用于来管理插件,我们可以在父工程中声明插件,然后在具体的子项目中按需引入不同的插件。

3.1父工程 POM

<pluginManagement>
	<plugins>
		<plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<version>2.2</version>
		</plugin>
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.3.5</version>
		</plugin>
	</plugins>
</pluginManagement>

3.2 子工程 POM

<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<configuration>
		<!-- 配置 Tomcat 监听端口 -->
		<port>8080</port>
		<!-- 配置项目的访问路径 (Application Context) -->
		<path>/</path>
	</configuration>
</plugin>
<!-- 配置 Generator 插件 -->
<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.38</version>
		</dependency>
	</dependencies>
	<!-- 指定配置文件的路径 -->
	<configuration>
		<configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
		<verbose>true</verbose>
		<overwrite>true</overwrite>
	</configuration>
</plugin>

二、 Maven 常用命令

1 clean

清除已编译信息。

删除工程中的 target 目录。

2 validate

验证项目是否正确

3 compile

只编译。 javac 命令。

4 test

用于执行项目的测试。如果在 test 目录下含有测试代码,那么 Maven 在执行 install命令会先去执行 test 命令将所有的 test 目录下的测试代码执行一遍,如果有测试代码执行失败,那么 install 命令将会终止。

5 package

打包。 包含编译,打包两个功能。

6 verify

运行任何检查,验证包是否有效且达到质量标准。

7 install

本地安装, 包含编译,打包,安装到本地仓库

编译 - javac

打包 - jar, 将 java 代码打包为 jar 文件

安装到本地仓库 - 将打包的 jar 文件,保存到本地仓库目录中。

8 site

项目站点文档创建的处理,该命令需要配置插件。

9 deploy

远程部署命令。

三、 Maven 项目名规范

官网的命名规范说明

http://maven.apache.org/guides/mini/guide-naming-conventions.html

1 groupId

groupId 定义当前 Maven 项目隶属的实际项目。groupId 应该遵循 Java 的包名称规则 使 用 反向 域 名 。 例 如 com.bjsxt 。 或 者 以反 向 域 名 开 头 加 项目 的 名 称 。 例 如com.bjsxt.example,此 id 前半部分 com.bjsxt 代表此项目隶属的组织或公司,example部分代表项目的名称。

2 artifactId

artifactId 是构件 ID,该元素定义实际项目中的一个 Maven 项目或者是子模块的名称,如官方约定中所说,构建名称必须小写字母,没有其他的特殊字符,推荐使用“实际项目名称-模块名称”的方式定义,例如:spirng-mvn、spring-core 等。

3 version

可以选择带有数字和点(1.0、1.1、1.0.1,...)的任何典型版本。不要使用日期指定当前构件的版本。默认版本为 1.0-SNAPSHOT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plenilune-望月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值