Java Maven 入门

Maven 用于 Java 项目的依赖管理和项目生命周期管理。假设已安装 Java 8、IntelliJ IDEA 和 Git。

开发环境搭建

安装 Maven

目前 Maven 的最新版本是 3.9.9,但公司 CI 使用的是 3.5.2,因此我们以 3.5.2 为例。下载 Maven 压缩包,点击 Maven 3.5.2 下载地址。将下载的 apache-maven-3.5.2-bin.zip 压缩包移动到 /opt 目录下并解压缩。

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

配置软连接

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

验证是否安装成功

$ mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /opt/apache-maven-3.5.2
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.16", 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

延伸阅读