mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
[dcos update]Maven插件介绍+Maven文章推荐
This commit is contained in:
parent
3f14551734
commit
afbb5b7168
@ -68,14 +68,6 @@ Bob 大叔将自己对整洁代码的理解浓缩在了这本书中,真可谓
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
**[《Effective Java 》](https://book.douban.com/subject/3360807/)**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
**[《Effective Java 》](https://book.douban.com/subject/30412517/)** 这本书是 Java 领域国宝级别的书,非常经典。Java 程序员必看!
|
|
||||||
|
|
||||||
这本书主要介绍了在 Java 编程中很多极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。这篇文章能够非常实际地帮助你写出更加清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。
|
|
||||||
|
|
||||||
## 程序员职业素养
|
## 程序员职业素养
|
||||||
|
|
||||||
**[《The Clean Coder》](https://book.douban.com/subject/26919457/)**
|
**[《The Clean Coder》](https://book.douban.com/subject/26919457/)**
|
||||||
|
@ -384,6 +384,49 @@ site 生命周期的目的是建立和发布项目站点,共包含 4 个阶段
|
|||||||
|
|
||||||
Maven 能够基于 `pom.xml` 所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。
|
Maven 能够基于 `pom.xml` 所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。
|
||||||
|
|
||||||
|
## Maven 插件
|
||||||
|
|
||||||
|
Maven 本质上是一个插件执行框架,所有的执行过程,都是由一个一个插件独立完成的。像咱们日常使用到的 install、clean、deploy 等命令,其实底层都是一个一个的 Maven 插件。关于 Maven 的核心插件可以参考官方的这篇文档:https://maven.apache.org/plugins/index.html 。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
除了 Maven 自带的插件之外,还有一些三方提供的插件比如单测覆盖率插件 jacoco-maven-plugin、帮助开发检测代码中不合规范的地方的插件 maven-checkstyle-plugin、分析代码质量的 sonar-maven-plugin。并且,我们还可以自定义插件来满足自己的需求。
|
||||||
|
|
||||||
|
jacoco-maven-plugin 使用示例:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.jacoco</groupId>
|
||||||
|
<artifactId>jacoco-maven-plugin</artifactId>
|
||||||
|
<version>0.8.8</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>prepare-agent</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>generate-code-coverage-report</id>
|
||||||
|
<phase>test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>report</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
```
|
||||||
|
|
||||||
|
你可以将 Maven 插件理解为一组任务的集合,用户可以通过命令行直接运行指定插件的任务,也可以将插件任务挂载到构建生命周期,随着生命周期运行。
|
||||||
|
|
||||||
|
Maven 插件被分为下面两种类型:
|
||||||
|
|
||||||
|
- **Build plugins** :在构建时执行。
|
||||||
|
- **Reporting plugins**:在网站生成过程中执行。
|
||||||
|
|
||||||
## Maven 多模块管理
|
## Maven 多模块管理
|
||||||
|
|
||||||
多模块管理简单地来说就是将一个项目分为多个模块,每个模块只负责单一的功能实现。直观的表现就是一个 Maven 项目中不止有一个 `pom.xml` 文件,会在不同的目录中有多个 `pom.xml` 文件,进而实现多模块管理。
|
多模块管理简单地来说就是将一个项目分为多个模块,每个模块只负责单一的功能实现。直观的表现就是一个 Maven 项目中不止有一个 `pom.xml` 文件,会在不同的目录中有多个 `pom.xml` 文件,进而实现多模块管理。
|
||||||
@ -401,6 +444,12 @@ Maven 能够基于 `pom.xml` 所包含的信息,自动生成一个友好的站
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## 文章推荐
|
||||||
|
|
||||||
|
- [安全同学讲 Maven 间接依赖场景的仲裁机制 - 阿里开发者 - 2022](https://mp.weixin.qq.com/s/flniMiP-eu3JSBnswfd_Ew)
|
||||||
|
- [高效使用 Java 构建工具| Maven 篇 - 阿里开发者 - 2022](https://mp.weixin.qq.com/s/Wvq7t2FC58jaCh4UFJ6GGQ)
|
||||||
|
- [安全同学讲 Maven 重打包的故事 - 阿里开发者 - 2022](https://mp.weixin.qq.com/s/xsJkB0onUkakrVH0wejcIg)
|
||||||
|
|
||||||
## 参考
|
## 参考
|
||||||
|
|
||||||
- 《Maven 实战》
|
- 《Maven 实战》
|
||||||
|
Loading…
x
Reference in New Issue
Block a user