Maven下载与配置&&对Java项目的理解

发布于:2025-07-14 ⋅ 阅读:(20) ⋅ 点赞:(0)

目录

一、背景

二、JAVA项目与Maven的关系

2.1标准java项目

2.2 maven

2.2.1 下载maven

1、下载

2、配置环境

2.2.2 setting.xml

1、配置settings.xml

2、IDEA配置maven


一、背景

在java项目中,新手小白很有可能看不懂整体的目录结构,以及每个文件都是用来干嘛的。而且经常会遇到这种场景:配置settings.xml ,依赖冲突等,依赖下载失败,搞得大家焦头乱额,这些场景都和maven息息相关。

二、JAVA项目与Maven的关系

2.1标准java项目

一个标准的 Java 项目通常由以下目录和文件组成,并使用 Maven 进行依赖管理和构建:

项目根目录/
├── pom.xml                    # 项目配置文件
├── src/
│   ├── main/
│   │   ├── java/             # 主代码
│   │   └── resources/        # 主资源文件
│   └── test/
│       ├── java/             # 测试代码
│       └── resources/        # 测试资源文件
└── target/                   # 编译输出目录

(1)target

  • Maven 构建后自动生成的目录,包含:
    • classes/ → 编译后的 .class 文件
    • test-classes/ → 测试代码编译后的 .class 文件
    • my-java-project-1.0.0.jar → 打包后的 JAR 文件(如果是 Web 项目,可能是 .war

(2)pom.xml

  • Maven 的核心配置文件,Maven 会根据 pom.xml 自动处理依赖和构建流程。
    • 项目基本信息(groupIdartifactIdversion):定义项目名称(artifactId)、组织(groupId)、版本(version)等
    • 依赖(dependencies):声明项目所需的第三方库(如 Spring、JUnit),Maven 会自动下载并管理依赖。
    • 构建方式(build):指定源码目录、编译选项、打包方式(JAR/WAR)等。
    • 插件(plugins):配置 Maven 插件(如编译器插件、测试插件、打包插件)。

2.2 maven

Maven是Java项目的构建管理工具,类似于前端的npm、Python的pip,主要用于:

  • 依赖管理 - 自动下载和管理第三方库
  • 项目构建 - 编译、测试、打包
  • 项目结构标准化 - 统一的目录结构

2.2.1 下载maven

1、下载

maven3的下载地址:Index of /dist/maven/maven-3(可以选自己需要的版本)

我是在这个网址下载3.8.3:

Index of /dist/maven/maven-3/3.8.3/binaries

将包放入指定目录并解压:

tar -zxvf apache-maven-3.6.3-bin.tar.gz

我建在这个目录下:/Users/yanhan/Documents/yanhan/maven,按照自己的需求放maven位置

2、配置环境

vim ~/.bash_profile

export MAVEN_HOME=/Users/yanhan/Documents/yanhan/maven/apache-maven-3.6.3/bi    n                                                                          export PATH=$PATH:$MAVEN_HOME/bin
export PATH=$MAVEN_HOME:$PATH

保存后输入指令激活

source ~/.bash_profile

安装成功,并查看

mvn -v   
echo $MAVEN_HOME

成功

2.2.2 setting.xml

settings.xml 是 Maven 的核心配置文件之一,用于定义 全局或用户级别的 Maven 运行环境,包括仓库地址、代理服务器、认证信息等。它不直接参与项目构建,而是为 Maven 工具本身提供配置支持。

1、配置settings.xml
  1. 找到 settings.xml 文件,位置应该在:${MAVEN_HOME}/conf/settings.xml
  2. MAVEN_HOME 是 Maven 的安装目录(例如:/usr/local/apache-maven-3.8.6 或 C:\Program Files\apache-maven-3.8.6)。
  3. 直接替换即可

配置好settings.xml后,IDEA的maven并不是我们配置好的这个,需要再给IDEA配置下maven

2、IDEA配置maven
  1. 3号红框修改为前面我们配置好的setting的位置,以及maven的homepath
  2. local repository按照个人的需求自行替换,不换也ok

2.2.3 常用指令

常用指令精简表:

命令 作用
mvn clean 清理 target/ 目录
mvn compile 编译 src/main/java 代码
mvn test 运行 src/test/java 测试
mvn package 打包(生成 JAR/WAR)
mvn install 打包并安装到本地 Maven 仓库
mvn deploy 发布到远程仓库(如 Nexus)

(1)基本指令

1. 清理和编译
mvn clean                    # 清理target目录
mvn compile                  # 编译主代码 (src/main/)
mvn test-compile            # 编译测试代码 (src/test/)
mvn clean compile           # 清理后编译

2. 测试相关
mvn test                    # 运行所有测试
mvn test -Dtest=TestClass   # 运行指定测试类
mvn test -Dgroups=P0        # 运行指定分组的测试
mvn test -DskipTests        # 跳过测试

3. 打包和安装
mvn package                 # 打包成JAR/WAR
mvn install                 # 安装到本地仓库
mvn deploy                  # 部署到远程仓库

(2)日常开发可能涉及

# 1. 项目初始化
mvn clean compile                    # 编译项目,检查语法错误

# 2. 运行测试
mvn test                            # 运行所有测试
mvn test -pl tsp_group_api          # 只运行指定模块的测试
mvn test -Dtest=TestV1Groupbuy      # 运行指定测试类

# 3. 环境切换
mvn test -Ptest                     # 使用test环境配置
mvn test -Pprod                     # 使用prod环境配置

# 4. 分组测试
mvn test -Dgroups=P0                # 运行P0级别测试
mvn test -Dgroups=OFFLINE           # 运行离线测试
mvn test -Dgroups="P0,OFFLINE"      # 运行多个分组

(3)调试和排错

# 详细输出
mvn test -X                         # 显示详细调试信息
mvn test -e                         # 显示错误堆栈

# 依赖分析
mvn dependency:tree                 # 查看依赖树
mvn dependency:analyze              # 分析依赖问题

# 跳过测试
mvn package -DskipTests             # 打包时跳过测试
mvn install -Dmaven.test.skip=true  # 完全跳过测试编译和执行


网站公告

今日签到

点亮在社区的每一天
去签到