Maven构建Java项目ES项目
目录标题
- 1、maven安装
- 2、构建项目
- 3、撸代码
- 4、mvn clean install
- 5、mvn exec:java -Dexec.mainClass="com.bpx.App"
1、maven安装
在Linux系统上通过二进制安装Maven的步骤如下:
-
下载Maven二进制包:
- 访问Maven官方网站 Apache Maven 下载最新版本的二进制安装包。你也可以使用
wget
命令直接下载:
请将URL中的版本号替换为你需要的版本。wget https://downloads.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
- 访问Maven官方网站 Apache Maven 下载最新版本的二进制安装包。你也可以使用
-
解压Maven:
- 使用
tar
命令解压下载的Maven压缩包到你选择的目录,例如/opt
:
这将解压Maven到tar -xvzf apache-maven-3.9.4-bin.tar.gz -C /opt
/opt/apache-maven-3.9.4
目录。
- 使用
-
重命名解压后的目录(可选):
- 为了方便管理,可以创建一个符号链接:
这样,无论何时Maven更新,你只需更新链接指向新的目录即可。sudo ln -s /opt/apache-maven-3.9.4 /opt/maven
- 为了方便管理,可以创建一个符号链接:
-
配置环境变量:
- 打开你的Shell配置文件,如
~/.bashrc
或~/.bash_profile
,并添加以下行:export M2_HOME=/opt/maven export PATH=${M2_HOME}/bin:${PATH}
- 保存文件后,使用
source
命令使更改生效:
或者你可以在source ~/.bashrc
/etc/profile.d/
目录下创建一个新的文件,例如maven.sh
,并添加上述环境变量配置。
- 打开你的Shell配置文件,如
-
验证安装:
- 在终端输入
mvn -v
,如果Maven安装成功,它将显示Maven的版本信息。
- 在终端输入
以上步骤将帮助你在Linux系统上通过二进制文件安装Maven。如果你遇到任何问题,可以查看Maven的官方文档或搜索具体的安装问题。
2、构建项目
mvn archetype:generate -DgroupId=com.bpx -DartifactId=bpx-es-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
3、撸代码
cd bpx-es-project
4、mvn clean install
mvn clean install
是 Maven 构建工具中的一个常用命令,它由两个部分构成:clean
和 install
。这个命令通常用于清理项目并构建项目,然后将构建的成果安装到本地仓库中。下面是这两个部分的详细解释:
-
mvn clean:
clean
是 Maven 的一个生命周期阶段,它的目的是清理项目的工作目录,通常包括删除target
目录下的所有生成的文件(比如编译后的.class
文件和打包后的.jar
文件等),确保新的构建是从干净的状态开始的。- 这个命令不会删除源代码或资源文件,只会清理构建过程中生成的文件。
-
mvn install:
install
是 Maven 的另一个生命周期阶段,它执行编译、测试、打包等一系列步骤,将编译好的代码打包成 JAR 或 WAR 文件,并将其安装到本地仓库中。- 安装到本地仓库意味着,如果你的项目是一个依赖项,它可以被其他本地项目作为依赖引用。
install
阶段还会运行单元测试,确保代码质量。
当你执行 mvn clean install
命令时,Maven 会先执行 clean
阶段,清理项目,然后执行 install
阶段,构建并安装项目。这个命令是 Maven 日常开发中非常常用的命令之一,因为它可以确保你从一个干净的构建环境开始,并最终得到一个可以被其他项目使用的构建成果。
简而言之,mvn clean install
命令的作用是:
- 清理项目,删除所有旧的构建文件。
- 构建项目,包括编译源代码、运行测试、打包等。
- 将构建的成果安装到本地仓库,以便其他项目可以依赖。
5、mvn exec:java -Dexec.mainClass=“com.bpx.App”
mvn exec:java
是 Maven 中的一个插件命令,用于在不打包的情况下直接运行 Java 应用程序。这个命令允许你在 Maven 构建生命周期之外直接执行 Java 主类。下面是这个命令的详细解释:
-
mvn exec:java:
mvn
是 Maven 命令的前缀,用于执行 Maven 构建系统的各种命令。exec
是 Maven 的exec-maven-plugin
插件的简称,它提供了在 Maven 项目中执行外部进程和 Java 主类的能力。java
是exec-maven-plugin
提供的目标(goal),用于直接运行 Java 程序。
-
-Dexec.mainClass=“com.bpx.App”:
-D
是 Maven 用来设置系统属性的参数。exec.mainClass
是exec-maven-plugin
需要的一个属性,它指定了要运行的 Java 主类的全限定名(包括包名)。"com.bpx.App"
是具体的主类名称,这里假设你的主类位于com.bpx
包下,类名为App
。
当你执行 mvn exec:java -Dexec.mainClass="com.bpx.App"
命令时,Maven 会使用 exec-maven-plugin
插件来查找指定的主类 com.bpx.App
,并使用当前项目的类路径来运行这个主类。这意味着你的项目不需要被打包成一个 JAR 文件,可以直接运行。
这个命令特别适用于快速测试和开发阶段,因为它允许开发者快速启动和测试代码,而不需要经历完整的构建和打包过程。此外,它也常用于运行一些简单的脚本和工具,这些脚本和工具不需要被打包成独立的应用程序。
mvn exec:java -Dexec.mainClass="com.bpx.App"