Maven入门及其简单的使用(一)

Maven是一个Java项目管理工具,通过POM实现自动化构建和依赖管理。它包括本地和远程仓库,其中远程仓库可能包括中央仓库和私服。Maven使用插件执行具体任务,如编译。安装与配置涉及设置环境变量,而创建项目可以通过手动或使用插件自动生成标准目录结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、Maven简介

2、Maven下载与安装,以及配置环境变量

3、Maven基础概念

4、仓库基本配置

5、 Maven项目(手工制作)


1、Maven简介

(1)传统项目管理状态分析

  • jar包不统一,jar包不兼容
  • 工程升级维护过程中操作很繁琐
  • ....
  • ....

(2)Maven是什么

本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)

POM(Project Object Model):项目对象模型

(3)Maven的作用

  • 项目构建:提供标准的、跨平台的自动化项目构建方式
  • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间版本冲突问题
  • 统一开发结构:提供标准的、统一的项目结构

 上面的这个为Java项目的结构。

(4)Maven 就其本身来说只是提供一个执行环境,它并不知道需要在项目上完成什么操作,真正操作项目的是插件(plugin),比如编译 Java 有 Compiler 插件 。

2、Maven下载与安装,以及配置环境变量

(1)下载地址:Maven – Download Apache Maven

(2)下载对应版本后,解压到一个你知道的文件夹

 (3)环境变量配置

  • 依赖jar包,需要配置JAVA_HOME
  • 设置Maven自身的运行环境,需要配置MAVEN_HOME

在高级系统设置里,点击新建,输入变量名MAVEN_HOME,变量值为Maven的安装目录,一直到bin目录的上一级目录 。

 进去之后,点击新建,输入%MAVEN_HOME%\bin

一直保存即可。

(3)测试是否安装和配置成功

3、Maven基础概念

(1)仓库

用于存储资源,包含各种jar包

  • 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源。
  • 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源。
  • 中央(心)仓库:Maven团队维护,存储所有资源的仓库。

私服和中心仓库都属于远程仓库。

远程仓库为非电脑本地上的仓库。

从Maven中心仓库下载jar包依赖公网,速度受限,并且无法上传自己的 jar 包。所以一般会利用 nexus 搭建一个内部的 maven 仓库(私服),自动化构建时Maven先访问本地仓库(一个存放 jar 包的目录 ),本地仓库没有的时候从内部的maven 私有仓库(私服)下载到本地仓库,内部的Maven仓库也无时,会从Maven中心(镜像)仓库下载到本地的 maven 仓库。

私服的作用:

  • 速度更快,效率高
  • 保存具有版权的资源,包含购买或者自主研发的jar(中央仓库的jar都是开源的,不能存储具有版权的资源)
  • 一定范围内共享资源,仅对内部开放,对外不共享。

(2)坐标

Maven中仓库资源: Central Repository:

4、仓库基本配置

(1)本地仓库配置

​ 

​ 

绿色的是注释,是不生效的部分。 

Maven启动后,会自动保存下载的资源到本地仓库。

  • 默认的位置:<localRepository>${user.home}/.m2/repository</localRepository>
  • 我设置的位置:<localRepository>D:\software\Maven\repo</localRepository>

(2)远程仓库配置

  • Maven默认连接的仓库位置
<repositories>

    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>

</repositories>
  • 在setting文件中配置阿里云镜像仓库
<mirrors>

    <!--配置具体的仓库的下载镜像 -->

    <mirror>

        <!-- 此镜像的唯一标识符,用来区分不同的mirror元素 -->

    <id>nexus-aliyun</id>

        <!-- 对哪种仓库进行镜像,简单地说就是代替哪个仓库 -->

    <mirrorOf>central</mirrorOf>

        <!-- 镜像名称 -->

    <name>Nexus aliyun</name>

        <!-- 镜像URL -->

    <url>http://maven.aliyun.com/nexus/content/groups/public</url>

    </mirror>

</mirrors>

5、 Maven项目(手工制作)

项目结构

手工制作的话,就要在电脑本地创建一个类似于上图所示层次分明的文件夹。main文件夹中的Java文件夹存放Java代码,test文件夹中的Java文件夹存放Java测试代码。(可随便自己创建,能运行就行)

根据层级规范的话,Java目录后不要紧接着放Java代码,可先创建一个com文件夹,再在com文件夹里创建一个类似于itheima的文件夹,再放入Java代码。

  • 在src同层目录下创建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/maven-                                    v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>

    <artifactId>java-project</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>
        </dependency>
    </dependencies>
</project>

 

 

(1)在跳出来的终端处输入:mvn compile

 

会有下载插件的过程,我这里因为插件下载过了,所以直接显示了结果。 

该目录下会多一个target文件夹。

 输入:mvn clean  后就会把之前生成的target文件夹删除,返回编译前的状态。(一般不操作)

(2)再次在终端输入  mvn test

会有测试的过程,过程中也会下载插件,我这里因为插件下载过了,所以只显示了结果。

(3)输入:mvn package 

会有打包过程,也会下载插件,我这里下载过了,所以只显示结果。

​ 

我们会发现target文件夹里会有一个jar文件。

(4) 输入:mvn install

​ 

会发现你电脑本地的仓库(前面设置过了),我的仓库是repo,会出现那个文件。这里的目录com\itheima\java-project\1.0 来源于你前面设置的pom.xml文件。

插件创建工程!

  • 创建Java工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=java-project01 -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false

里面相应的内容可以做相应的修改。(com.itheima会作为java目录的子目录,java-project01会作为项目名称)

 将上面的代码复制到终端即可。

我们就会发现创建了一个完整的Java项目,里面的目录结构都是齐全的。

  • 创建web工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false

同上面一样进行操作即可,在终端中输入上面的命令。

 我们就会发现创建了一个完整的web项目,里面的目录结构式齐全的。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值