Java Maven 入门

Maven 用于 Java 项目的依赖管理, 以及项目生命周期管理. 假设在前面已经安装好了 Java 8, IntelliJ IDEA, 以及 git.

开发环境搭建

安装 Maven

目前 Maven 的最新版本是 3.6.2, 由于公司 CI 用的还是 3.5.0, 因此我们以 3.5.0 为例. 下载 Maven 压缩包, 点击 Maven 3.5.0 下载地址. 将所得的 apache-maven-3.5.0-bin.zip 压缩包, 移到 /opt 目录下, 解压缩.

mv apache-maven-3.5.0-bin.zip /opt
cd /opt
unzip apache-maven-3.5.0-bin.zip

配置软连接

cd /usr/local/bin
ln -s /opt/apache-maven-3.5.0/bin/mvn .

验证是否安装成功

$ mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: /opt/apache-maven-3.5.0
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"

常用命令

  • mvn clean 清除编译生成的 .class 文件, 对于 maven 项目, 本质是删除项目下的 target 目录.
  • mvn test 执行 JUnit 单元测试
  • mvn -DskipTests 不执行单元测试
  • mvn package 打包构建
  • mvn install 将 jar 包安装到本地 maven 仓库
  • mvn dependency:tree 查看依赖树
  • mvn dependency:tree -Dverbose 深度查看依赖树
  • mvn report
  • mvn checkstyle:checkstyle
  • mvn checkstyle:check
  • mvn site

命令建议组合使用, 比如 mvn -DskipTests clean package 表示跳过单元测试, 清除之前的编译结果, 重新打包构建.

创建项目

新建项目

在 IDEA 欢迎界面中, 点击 Create New Project 菜单, 进入如下图所示的新建项目向导. 右侧选择 Maven, 其余保持默认, 点击 Next 按钮.

输入 Maven 项目的三元坐标, (GroupId, ArtifactId, Version) 如下图所示.

点击 Next 按钮. 设置项目名字, 以及项目路径.

点击 Finish 按钮, 完成项目创建. 项目结构如下图所示.

加入版本控制

创建忽略文件列表, 新建 .gitignore 文件, 加入以下内容

.idea
target
*.iml
.DS_Store

初始化版本仓库, 提交代码

git init
git add .
git commit -a -m 'init'

Hello World

选中 src/main/java 目录, 右键 New, Java Class, 创建 HelloWorld 类

键入如下图所示的代码. 将光标定位在编辑窗口, 右键菜单 Run ‘HelloWorld.main()’

整数累加

在 HelloWorld 类中继续键入如下代码.

int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}
System.out.println(String.format("1+2+...+100 = %d", sum));

执行代码输出结果: 1+2+...+100 = 5050.

字符串拼接

String[] strs = {"你", "我", "他"};
String res = "";
for (String str : strs) {
    res += str;
    res += ",";
}
System.out.println("手动拼接: " + res.substring(0, res.length() - 1));

执行代码输出结果: 手动拼接: 你,我,他.

引入工具类

添加 Maven 依赖. 在 pom.xml 中增加如下 dependencies 节点.

<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.9</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.8</version>
    </dependency>
</dependencies>

添加完毕以后, pom.xml 文件如下图所示.

搜索查看 public 的 Java 工具包, 建议访问: https://mvnrepository.com.

System.out.println("工具类拼接: " + StringUtils.join(strs, ","));

// 最长公共子序列
String text1 = "abcdefg";
String text2 = "abefcdg";
LongestCommonSubsequence subsequence = new LongestCommonSubsequence();
Integer length = subsequence.apply(text1, text2);
CharSequence sequence = subsequence.longestCommonSubsequence(text1, text2);
System.out.println(String.format("最长公共子序列: %s, 长度: %d", sequence, length));

执行代码, 输出如下结果

工具类拼接: 你,我,他
最长公共子序列: abefg, 长度: 5

延伸阅读