Skip to content

Commit 67537d8

Browse files
committed
更新文档
1 parent 174e4ad commit 67537d8

16 files changed

Lines changed: 1454 additions & 1537 deletions

docs/README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@
1414
## [Java 工具](javatool/README.md)
1515

1616
- [构建工具](javatool/build/README.md)
17-
- [Maven 快速指南(一)](javatool/build/maven/maven-quickstart-01.md)
18-
- [Maven 快速指南(二)](javatool/build/maven/maven-quickstart-02.md)
19-
- [Maven 之 pom.xml 详解(一)](javatool/build/maven/maven-pom-01.md)
20-
- [Maven 之 pom.xml 详解(二)](javatool/build/maven/maven-pom-02.md)
21-
- [Maven 之 pom.xml 详解(三)](javatool/build/maven/maven-pom-03.md)
22-
- [Maven 之 settings.xml 详解](javatool/build/maven/maven-settings-config.md)
23-
- [发布项目到 maven 中央仓库](javatool/build/maven/maven-deploy.md)
24-
- [部署并使用 Nexus 作为 Maven 私服](javatool/build/maven/nexus.md) - 关键词:maven, nexus
25-
- [Maven 排错](javatool/build/maven/maven-faq.md)
17+
- [Maven 快速指南](javatool/build/maven/maven-quickstart.md)
18+
- [Maven 之 pom.xml 详解](javatool/build/maven/maven-pom.md)
19+
- [Maven 之 settings.xml 详解](javatool/build/maven/maven-settings.md)
20+
- [Maven 常见问题和最佳实践](javatool/build/maven/maven-action.md)
21+
- [发布项目到 Maven 中央仓库](javatool/build/maven/maven-deploy.md)
22+
- [部署并使用 Nexus 作为 Maven 私服](javatool/build/maven/nexus.md)
2623
- [Ant 简易教程](javatool/build/ant.md)
2724
- [Elastic](javatool/elastic/README.md)
2825
- [Elastic 技术栈之快速指南](javatool/elastic/elastic-quickstart.md)

docs/javatool/README.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@
44
55
## 目录
66

7-
* [构建工具](build/README.md)
8-
* [Maven 快速指南(一)](build/maven/maven-quickstart-01.md)
9-
* [Maven 快速指南(二)](build/maven/maven-quickstart-02.md)
10-
* [Maven 之 pom.xml 详解(一)](build/maven/maven-pom-01.md)
11-
* [Maven 之 pom.xml 详解(二)](build/maven/maven-pom-02.md)
12-
* [Maven 之 pom.xml 详解(三)](build/maven/maven-pom-03.md)
13-
* [Maven 之 settings.xml 详解](build/maven/maven-settings-config.md)
14-
* [发布项目到中央仓库](build/maven/maven-deploy.md)
15-
* [Maven 排错](build/maven/maven-faq.md)
16-
* [Ant 简易教程](build/ant.md)
17-
* [Elastic](elastic/README.md)
18-
* [Elastic 技术栈之快速指南](elastic/elastic-quickstart.md)
19-
* [Elastic 技术栈之 Logstash 基础](elastic/elastic-logstash.md)
20-
* [Java IDE](ide/README.md)
21-
* [Intellij IDEA 使用小结](ide/intellij.md)
22-
* [Eclipse 使用小结](ide/eclipse.md)
23-
* [Java 服务器](server/README.md)
24-
* [Jetty 使用小结](server/jetty.md)
7+
- [构建工具](build/README.md)
8+
- [Maven 快速指南](build/maven/maven-quickstart.md)
9+
- [Maven 之 pom.xml 详解](build/maven/maven-pom.md)
10+
- [Maven 之 settings.xml 详解](build/maven/maven-settings.md)
11+
- [Maven 常见问题和最佳实践](build/maven/maven-action.md)
12+
- [发布项目到 Maven 中央仓库](build/maven/maven-deploy.md)
13+
- [部署并使用 Nexus 作为 Maven 私服](build/maven/nexus.md)
14+
- [Ant 简易教程](build/ant.md)
15+
- [Elastic](elastic/README.md)
16+
- [Elastic 技术栈之快速指南](elastic/elastic-quickstart.md)
17+
- [Elastic 技术栈之 Logstash 基础](elastic/elastic-logstash.md)
18+
- [Java IDE](ide/README.md)
19+
- [Intellij IDEA 使用小结](ide/intellij.md)
20+
- [Eclipse 使用小结](ide/eclipse.md)
21+
- [Java 服务器](server/README.md)
22+
- [Jetty 使用小结](server/jetty.md)

docs/javatool/build/README.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44

55
### Maven
66

7-
* [Maven 快速指南(一)](maven/maven-quickstart-01.md)
8-
* [Maven 快速指南(二)](maven/maven-quickstart-02.md)
9-
* [Maven 之 pom.xml 详解(一)](maven/maven-pom-01.md)
10-
* [Maven 之 pom.xml 详解(二)](maven/maven-pom-02.md)
11-
* [Maven 之 pom.xml 详解(三)](maven/maven-pom-03.md)
12-
* [Maven 之 settings.xml 详解](maven/maven-settings-config.md)
13-
* [发布项目到中央仓库](maven/maven-deploy.md)
14-
* [Maven 排错](maven/maven-faq.md)
7+
- [Maven 快速指南](maven/maven-quickstart.md)
8+
- [Maven 之 pom.xml 详解](maven/maven-pom.md)
9+
- [Maven 之 settings.xml 详解](maven/maven-settings.md)
10+
- [Maven 常见问题和最佳实践](maven/maven-action.md)
11+
- [发布项目到 Maven 中央仓库](maven/maven-deploy.md)
12+
- [部署并使用 Nexus 作为 Maven 私服](maven/nexus.md)
1513

1614
### Ant
1715

18-
* [Ant 简易教程](ant.md)
16+
- [Ant 简易教程](ant.md)
Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
# Maven
22

3-
## 知识点
4-
5-
maven 知识点见 `maven.xmind`
6-
7-
_xmind 是思维导图文件,打开需使用 [xmind](https://www.xmind.cn/) 工具。_
8-
9-
## 目录
10-
11-
* [Maven 快速指南(一)](maven-quickstart-01.html)
12-
* [Maven 快速指南(二)](maven-quickstart-02.html)
13-
* [Maven 之 pom.xml 详解(一)](maven-pom-01.html)
14-
* [Maven 之 pom.xml 详解(二)](maven-pom-02.html)
15-
* [Maven 之 pom.xml 详解(三)](maven-pom-03.html)
16-
* [Maven 之 settings.xml 详解](maven-settings-config.html)
17-
* [发布项目到中央仓库](maven-deploy.html)
18-
* [Maven 排错](maven-faq.html)
3+
- [Maven 快速指南](maven-quickstart.md)
4+
- [Maven 之 pom.xml 详解](maven-pom.md)
5+
- [Maven 之 settings.xml 详解](maven-settings.md)
6+
- [Maven 常见问题和最佳实践](maven-action.md)
7+
- [发布项目到 Maven 中央仓库](maven-deploy.md)
8+
- [部署并使用 Nexus 作为 Maven 私服](nexus.md)
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Maven 常见问题和最佳实践
2+
3+
<!-- TOC depthFrom:2 depthTo:3 -->
4+
5+
- [1. 常见问题](#1-常见问题)
6+
- [1.1. IDEA 修改 JDK 版本后编译报错](#11-idea-修改-jdk-版本后编译报错)
7+
- [1.2. 重复引入依赖](#12-重复引入依赖)
8+
- [2. 最佳实践](#2-最佳实践)
9+
- [2.1. 通过 bom 统一管理版本](#21-通过-bom-统一管理版本)
10+
11+
<!-- /TOC -->
12+
13+
## 1. 常见问题
14+
15+
### 1.1. IDEA 修改 JDK 版本后编译报错
16+
17+
**错误现象**
18+
19+
修改 JDK 版本,指定 maven-compiler-plugin 的 source 和 target 为 1.8 。
20+
21+
然后,在 Intellij IDEA 中执行 maven 指令,报错:
22+
23+
```
24+
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project apollo-common: Fatal error compiling: 无效的目标版本: 1.8 -> [Help 1]
25+
```
26+
27+
**错误原因**
28+
29+
maven 的 JDK 源与指定的 JDK 编译版本不符。
30+
31+
**排错手段**
32+
33+
- **查看 Project Settings**
34+
35+
Project SDK 是否正确
36+
37+
![](http://dunwu.test.upcdn.net/snap/20181127203324.png)
38+
39+
SDK 路径是否正确
40+
41+
![](http://dunwu.test.upcdn.net/snap/20181127203427.png)
42+
43+
- **查看 Settings > Maven 的配置**
44+
45+
JDK for importer 是否正确
46+
47+
![](http://dunwu.test.upcdn.net/snap/20181127203408.png)
48+
49+
Runner 是否正确
50+
51+
![](http://dunwu.test.upcdn.net/snap/20181127203439.png)
52+
53+
### 1.2. 重复引入依赖
54+
55+
在 Idea 中,选中 Module,使用 <kbd>Ctrl+Alt+Shift+U</kbd>,打开依赖图,检索是否存在重复引用的情况。
56+
57+
## 2. 最佳实践
58+
59+
### 2.1. 通过 bom 统一管理版本
60+
61+
采用类似 spring-framework-bom 的方式统一管理依赖版本。
62+
63+
spring-framework-bom 形式:
64+
65+
```xml
66+
<?xml version="1.0" encoding="UTF-8"?>
67+
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
68+
<modelVersion>4.0.0</modelVersion>
69+
<groupId>org.springframework</groupId>
70+
<artifactId>spring-framework-bom</artifactId>
71+
<version>4.3.13.RELEASE</version>
72+
<packaging>pom</packaging>
73+
74+
...
75+
76+
<dependencyManagement>
77+
<dependencies>
78+
</dependency>
79+
</dependencyManagement>
80+
</project>
81+
```
82+
83+
其他项目引入 spring-framework-bom 来管理 spring-framework 依赖版本的方式:
84+
85+
```xml
86+
<dependencyManagement>
87+
<dependencies>
88+
<dependency>
89+
<groupId>org.springframework</groupId>
90+
<artifactId>spring-framework-bom</artifactId>
91+
<version>${spring.version}</version>
92+
<type>pom</type>
93+
<scope>import</scope>
94+
</dependency>
95+
</dependencyManagement>
96+
```

docs/javatool/build/maven/maven-deploy.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- [settings.xml 配置](#settingsxml-配置)
1111
- [pom.xml 配置](#pomxml-配置)
1212
- [部署和发布](#部署和发布)
13-
- [引用和引申](#引用和引申)
13+
- [引申和引用](#引申和引用)
1414

1515
<!-- /TOC -->
1616

@@ -26,7 +26,7 @@
2626

2727
注册账号成功后,根据你 Java 包的功能分别写上`Summary``Description``Group Id``SCM url`以及`Project URL`等必要信息,可以参见我之前创建的 Issue:[OSSRH-36187](https://issues.sonatype.org/browse/OSSRH-36187)
2828

29-
![](https://raw.githubusercondunwu.com/dunwu/images-bed/screenshot/images/20181106111734.png)
29+
![](http://dunwu.test.upcdn.net/snap/20181106143734.png)
3030

3131
创建完之后需要等待 Sonatype 的工作人员审核处理,审核时间还是很快的,我的审核差不多等待了两小时。当 Issue 的 Status 变为`RESOLVED`后,就可以进行下一步操作了。
3232

@@ -294,7 +294,7 @@ gpg: unchanged: 1
294294

295295
> 说明:-P 参数后面的 sonatype 需要和 pom.xml 中 `<profile>` 的 id 保持一致,才能激活 profile。
296296
297-
## 引用和引申
297+
## 引申和引用
298298

299299
- https://www.jianshu.com/p/8c3d7fb09bce
300300
- http://www.ruanyifeng.com/blog/2013/07/gpg.html

docs/javatool/build/maven/maven-faq.md

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)