前言
在我们下载使用Maven之前我们要知道它都有哪些优点以及可以帮助我们处理什么工作
1.节省磁盘空间,提高开发性能
2.可以通过Package标签一键构建
3.可以实现跨平台开发
4.在大型项目开发时,可以提高开发效率,实现分模块开发
5.便于后期维护
一.基本概念
1.Maven是什么?
Maven是一种Java项目管理工具,它可以帮助开发人员自动化构建、测试和部署Java应用程序。Maven使用一个中央仓库来管理依赖,并根据一个项目的配置文件(pom.xml)构建项目。pom.xml文件定义了项目的依赖、插件、构建过程和其他相关信息。Maven提供了一系列的命令行工具和插件,使得开发人员能够快速构建和发布Java应用程序。同时,Maven还提供了一种标准化的项目结构,使得开发人员能够更容易地理解和维护项目代码。
2.pom.xml是什么?
Maven的核心功能便是合理叙述项目间的依赖关系,简单说就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。说到这,我们先介绍下pom.xml,POM 是 Project Object Model 的缩写,即项目对象模型。pom.xml 就是 maven 的配置文件,用以描述项目的各种信息。
3.仓库是什么?
通过pom.xml中的配置,就能够获取到想要的jar包,而这些jar包就在仓库中。仓库总共分为三种:本地仓库、第三方仓库、中央仓库。
本地仓库
Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository下(后面也会用得到本地仓库位置)以apache-maven-3.9.3
为例,在其目录内新建名为repository
的文件夹,此文件夹的目的是作为本地的Maven仓库来使用。D:\Maven\repository:就是我们自己创建的本地仓库,将网上下载的所有jar包,都丢到该目录下,我们就可以直接通过maven的pom.xml文件直接拿。
第三方仓库
第三方仓库又称为内部中心仓库,也称为私服。一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问)一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。
注意:连接私服,需要单独配置。如果没有配置私服,默认不使用
中央仓库
Maven内置了远程公用仓库:http://repo1.maven.org/maven2
这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主
工程依赖的jar包如果本地仓库没有,默认从中央仓库下载
二.简单配置
1.下载
直接官网下载:Maven – Download Apache Mavenhttps://maven.apache.org/download.cgi
注意:maven的安装需要依赖jdk的安装,所以必须先安装完成jdk且配置好jdk环境变量后在进行maven的安装,不然又出一堆稀奇古怪的报错。
2.解压
右击解压缩,解压缩过程就是安装过程,注意自己解压后文件的目录
记住自己解压后的文件目录,这个目录以后要经常用到的切记记好,可以集中放在某一路径下。
3.环境配置
①设置界面
右击桌面的“此电脑”图标,点击“属性”,弹出系统窗口,然后点击“高级系统设置”或者直接打开控制面板,找到“系统与安全”点击“系统”打开“高级系统设置”如图所示,接下来就可以调配环境变量了
②.配置环境变量
用户变量我们不必理会,调配下面的系统变量
在系统变量中新建一个MAVEN_HOME变量,一个M2_HOME变量点击新建后输入如下信息
变量名:MAVEN_HOME
变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6
//此处的变量值为你存放Maven的解压路径(手打容易把符号打错,后续报错都不知道怎么改最好还是去复制文件地址)
变量名:M2_HOME
变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6\repository
//此处的变量值为你存放Maven的解压后目录中的文件夹的路径(repository的建立在仓库讲过不会的朋友可以上去看一看)
建完上述两个变量之后在系统变量(S)找到Path变量点击编辑新建
输入如下信息:
%MAVEN_HOME%\bin
然后点击确定即可,一直确定,直至关闭所有对话框
③.Maven配置镜像
打开Maven解压路径下的conf
文件夹下的settings.xml
文件,可以使用记事本或者idea等软件打开进行编辑。
打开后在<mirrors></mirrors>
标签中添加 mirror 子节点:
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
④.Maven配置JDK
打开conf
文件夹下的settings.xml
文件找到profiles
节点,添加如下配置(根据自己的Java版本设置,我的是1.4):
<profile>
<id>jdk-1.4</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.4</jdk>
</activation>
<properties>
<maven.compiler.source>1.4</maven.compiler.source>
<maven.compiler.target>1.4</maven.compiler.target>
<maven.compiler.compilerVersion>1.4</maven.compiler.compilerVersion>
</properties>
</profile>
⑤.Maven建立本地仓库
打开conf文件夹下的settings.xml文件,找到settings标签,在找到节点localRepository,在注释外添加在其中添加如下代码(记得将代码中路径修改为自己电脑上的本地仓库路径)
<localRepository>D:\Maven\apache-maven-3.9.3\repository</localRepository>
如图:52行中的Default: ${user.home}/.m2/repository则为默认的本地仓库路径
⑥.测试Maven
win+R键打开资源管理器cmd然后输入mvn --version
这样就是成了(大多数的报错出现在环境配置上)
配置完成,运行资源管理器输入
mvn help:system
测试,配置成功则本地仓库(你在Maven的文件夹repository)中会出现一些文件。
mvn help:system
命令会打印出所有的Java系统属性和环境变量,这些信息对我们日常的编程工作很有帮助。
⑦.IDEA配置Maven
打开IDEA会出现开始页面,进行如下操作:
点击左侧的Customize------>在界面中找到All settings...。或者是打开的项目中点击File---->Settings------>Build,Execution,Deployment----->Build Tools----->Maven
Maven home directory:maven的目录
User setting file:用户设置的文件地址(右边勾选)
local repository:本地存储库地址(最好复制文件地址不要手打)
推荐配置:设置Maven在不联网的情况下使用本地插件,一般使用Maven为我们提供好的骨架时,是需要联网的。
配置这个,在没有网络的情况下,可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。
在Settings找到Build,Execution,Deployment打开Build Tools找到Maven点击Runner在VM Optiions输入框中输入如下内容:
-DarchetypeCatalog=internal
点击File找到
New Projects Settings点击
Settings for New Projects...
使修改的Maven配置对新建的项目生效
最后重启idea就可以了。
三.实际应用
1.创建Maven项目
在命令行或 IDE 中创建一个新的 Maven 项目。如果使用 IDE,一般可以通过 "New Project" -> "Maven" 或类似的选项来创建。
2.创建pom.xml文件
在项目的根目录下,找到 pom.xml 文件,打开并编辑它。在 pom.xml 文件中,我们可以配置项目的依赖和其他配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-java-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- 添加项目的依赖,这里使用 JUnit 作为示例 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
3.创建 Java 源代码目录结构
默认情况下,Maven 使用标准的源代码目录结构。在项目的 src/main/java
目录下创建 Java 源代码文件夹,并在其中创建 com.example
包。然后在包中创建 Main 类和 Utils 类
项目目录结构示例
my-java-project(我的项目名try)
└── src
└── main
└── java
└── com
└── example
├── Main.java
└── Utils.java
4.编辑 Java 源代码
编辑 Main 类和 Utils 类的 Java 源代码。
Main.java:
package com.example;
public class Main {
public static void main(String[] args) {
Utils.sayHello();
}
}
Utils.java:
package com.example;
public class Utils {
public static void sayHello() {
System.out.println("Hello, Maven!");
}
}
5.构建项目
在项目根目录下执行 mvn package
命令,Maven 将会自动下载依赖并编译项目。构建完成后,在项目的 target
目录下会生成一个 JAR 文件。
怎么在项目根目录下执行 mvn package 命令?
-
确保您已经安装了 Maven:在命令行中输入
mvn -v
,如果正确显示 Maven 的版本信息,则说明 Maven 已经正确安装并配置在您的系统中。如果未安装 Maven,请先下载和安装 Maven。您可以从 Maven 官方网站下载 Maven 的最新版本:Maven – Download Apache Maven -
确保 Maven 的 bin 目录已添加到系统 PATH 中:在命令行中输入
mvn -v
,如果显示 "mvn" 不是内部或外部命令,也不是可运行的程序或批处理文件,则说明 Maven 的 bin 目录没有正确添加到系统的 PATH 中。请将 Maven 的 bin 目录路径添加到系统的 PATH 环境变量中。
完成上述步骤后,您就可以在项目根目录下执行 mvn package
命令了。以下是在不同操作系统中在项目根目录下执行 mvn package
命令的步骤:
Windows 操作系统:
- 打开命令提示符 (Command Prompt) 或 PowerShell。
- 使用
cd
命令切换到项目的根目录。例如:cd C:\path\to\your\project
。 - 在项目根目录下执行
mvn package
命令。
macOS 或 Linux 操作系统:
- 打开终端 (Terminal)。
- 使用
cd
命令切换到项目的根目录。例如:cd /path/to/your/project
。 - 在项目根目录下执行
mvn package
命令。
执行 mvn package
命令后,Maven 将会自动下载依赖并执行项目的打包操作。打包完成后,您将在项目根目录的 target
目录中找到生成的 JAR 文件(或其他构建输出文件,根据项目的配置而定)。
请注意,在执行 mvn package
命令之前,确保 pom.xml 文件已经正确配置了项目的依赖和构建设置,以及其他必要的配置信息。
(以上是chatgpt的答案,博主按着答案捣鼓一通发现并无卵)
它既然说让我们找根目录我们就直接去找根目录,没必要跟任务管理器死磕
我的解决方案是打开idea的View,鼠标滑至Tool Windows可以看到Terminal点击它
不用找根目录了直接输入:mvn package
执行命令时保证项目的所有代码都是正确的,否则会出现下面的情况
执行完之后项目里会神奇的出现一个target文件
6.运行项目
在项目根目录下执行 java -cp target/my-java-project-1.0-SNAPSHOT.jar com.example.Main
命令来运行项目。这里的my-java-project一定别忘了改成自己的项目名
最后出现的Hello,Maven!就意味着大功告成了!
四.声明
本人也是一个菜鸟,很抱歉不能给大家提供更复杂的教程,对配置和应用中的报错也欢迎大家讨论分享自己的解决过程。
本文的简单配置模块借鉴优快云博主「神兽汤姆猫」的原创文章
原文链接:https://blog.youkuaiyun.com/MSDCP/article/details/127680844