基于Centos搭建Maven 安装与使用
CentOS 7.2 64 位操作系统
安装 Maven
Maven 简介
Apache Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven 利用一小段描述信息能管理一个项目的构建、报告和文档等步骤。
Java 安装
首先我们需要准备 Java 开发环境,使用下面命令来安装 Java:
yum -y install java-1.8.0-openjdk-devel
Maven 下载
我们可以从官网下载页获取最新的下载链接(Binary tar.gz archive)。
然后我们使用 wget
命令将其下载:
cd /home wget http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
解压压缩包:
tar xzvf apache-maven-3.5.2-bin.tar.gz
将文件夹移动至 /usr/local/
目录:
mv apache-maven-3.5.2 /usr/local/apache-maven
配置环境变量
编辑 /etc/profile,在最下方添加:
MAVEN_HOME=/usr/local/apache-maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
Ctrl + S
保存文件,并运行如下命令使环境变量生效:
source /etc/profile
检查 Maven 是否成功安装:
mvn -version
Maven 简单使用
构建
我们可以通过 archetype:generate
命令快速构建出项目骨架。
Hello World
我们使用该命令创建一个 helloworld
项目。过程中可一路回车键选择默认值。(mvn 指令首次执行时,会从远程“中央仓库”下载一些必需的文件,请耐心等待,安装中的问题可以参考:http://www.cnblogs.com/jikexianfeng/p/8454638.html)
cd /home
mvn archetype:generate -DgroupId=helloworld -DartifactId=helloworld
项目结构
点击 /home/helloworld 查看项目结构。 其中: /pom.xml 为项目对象模型(Maven 项目配置) /src/main/java 用于存放源代码 /src/test/java 用于存放单元测试代码 /src/target 用于存放编译、打包后的输出文件
编译
进入项目目录:
cd /home/helloworld
执行编译:
mvn compile
重新开启 helloworld 项目文件夹,可以看到生成 target 目录。
运行
你可以使用 mvn
指明 mainClass 来运行项目:
mvn exec:java -Dexec.mainClass="helloworld.App"
完成后可看到终端输出了:
Hello World!
测试
我们可以通过 test
指令来运行单元测试代码。
mvn test
完成后可看到终端输出测试结果。
打包
通过 package
指令来执行打包。
mvn package
重新开启 target
目录,可看到生成了 .jar 文件。(从输出的日志可以看到,执行 package 前,会先执行 compile 及 test,最后执行了打包)
完成实验
恭喜!您已经成功完成了 Maven 安装与入门 的实验任务,您可以选择 留用 继续使用该环境。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?