128.【Maven】(二)

简介: 128.【Maven】

(三)、Maven 的基础概念

1.Maven 仓库

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

中央仓库由Maven开发者团队进行维护,私服服务器由各个公司的局域网进行管理。 正常开发者需要一个Jar现在本地找,假如本地找不到要门去私服下载对应的Jar包,要么去Maven官方管理的Maven中央仓库去下载。

(1).仓库分类
  1. 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源;
  2. 远程仓库:非本机电脑上的仓库,为本地仓库提供资源
    ① 中央仓库:Maven 团队维护,存储所有资源的仓库;
    ② 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源;

私服的作用

① 保存具有版权的资源,包含购买或自主研发的 jar;

② 解决访问速度慢的问题;

2. Maven 坐标

描述仓库中资源的位置。 让Maven能够更快捷的帮助我们找到对应的Jar包。

组成:

groupId (组织ID): 定义当前 Maven 项目隶属的组织名称(通常是域名反写,如 org.mybatis) ;

artifactId (项目名ID): 定义当前 Maven 项目名称(通常是模块名称,例如 CRM, SMS)

version (项目版本号): 定义当前项目版本号;

packaging: 定义当前项目的版本号;

3.Maven 本地仓库配置

我们安装Maven的时候,官方不会给我们默认指定一个Maven的仓库的,需要我们开发者自己来对其进行配置和安装。

我们在命令控制台中输入 CMD 然后回车 ,再输入mvn,Maven官方会再电脑用户给我们生成一个 .m2的文件夹。这个文件夹就是我们所说的Maven本地仓库

(1).改变默认的仓库地址

在下面位置放置我们自定义的 Maven本地仓库地址

<localRepository>E:\Maven\apache-maven-3.6.3\maven-repo</localRepository>
(2).改变远程仓库地址 (配置镜像)

因为我们没有私服,只能借用阿里云的镜像进行快速访问外网Maven中央仓库

<mirror>
    <!-- 此镜像的唯一标识符,用来区分不同 mirror 元素 -->
      <id>nexus-aliyun</id>
      <!-- 对哪个仓库进行镜像,简单来说就是要替换哪个仓库 -->
      <mirrorOf>*</mirrorOf>
      <!-- 镜像名称 -->
      <name>Nexus aliyun</name>
      <!-- 镜像 URL -->
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors

(四)、第一个Maven项目 (纯手写)

1.编写基本框架代码

我们需要手动编写: main包和test包在src父包中,然后分别在main和test的子包中写java包和resources包。

package main.java.com.jsxs;
/**
 * @Author Jsxs
 * @Date 2023/8/1 16:09
 * @PackageName:main.java
 * @ClassName: Demo1
 * @Description: TODO
 * @Version 1.0
 */
public class Demo1 {
    public static void main(String[] args) {
        System.out.println("你好 Maven!");
    }
}

2.填充Pom.xml至项目中

如果我们普通的Java目录想要变成一个Maven项目,那么我们需要在Src同级目录下编写一个文件 pom.xml。

<?xml version="1.0" encoding="UTF-8"?>
<!-- Maven根元素 这里面具有三个配置-->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!--  当前Maven的Pom对象版本  -->
    <modelVersion>4.0.0</modelVersion>
    <!--打包方式,web 工程打包为 war, java 工程打包为 jar-->
    <packaging>war</packaging>
    <!--    归属ID-->
    <groupId>com.jsxs</groupId>
    <!--    项目名ID-->
    <artifactId>Maven_handle</artifactId>
    <!--    项目版本号 SNAPSHOT代表开发版 ,RELEASE代表完成版-->
    <version>0.0.1-SNAPSHOT</version>
    <!--    项目名称-->
    <name>Maven_handle</name>
    <!--    项目描述-->
    <description>Demo project for Maven_handle</description>
    <!--    依赖管理-->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
        </dependency>
    </dependencies>
        <build>
        <!--设置插件-->
        <plugins>
            <!--      具体的配置插件      -->
            <plugin>
                <!--         这里需要我们的三件套       -->
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <!--        配置一些默认的项        -->
                <configuration>
                    <port>80</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

3.Maven 项目构建命令

Maven 构建命令使用 mvn 开头,后面添加功能参数,可以一次执行多个命令,使用空格分隔。

其实这里分别对应着我们SpringBoot项目中的右侧功能栏目。

mvn compile #编译
mvn clean #清理
mvn test #测试 target 目录下 surefire-reports 有测试报告
mvn package #打包 只打包源程序
mvn install #安装到本地仓库
  1. 执行编译命令之后

  1. 执行清理的操作

  1. 执行测试

我们在target目录中可以看到我们的测试结果,都会被记录下来的

  1. 执行 打包

  1. 将我们的项目安装到本地仓库

4.使用插件创建Maven项目

(注意要用 命令行,不要用 powershell)

  1. 创建Java工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
  1. 创建 web 工程:
mvn archetype:generate -DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-webapp 
-Dversion=0.0.1-snapshot 
-DinteractiveMode=false

相关文章
|
2月前
|
存储 Java Maven
Maven (简单理解)
Maven (简单理解)
22 2
|
1月前
|
Java Maven 开发工具
Maven 特点
Maven是一个遵循统一规则、可扩展的Java项目管理工具,强调依赖管理和自动化更新。它拥有庞大的库资源,支持JAR、WAR等输出类型的构建,并能自动生成项目站点和报告。Maven无缝集成版本控制系统,实现发布管理和并行构建,提升构建速度。其错误报告详细,提供链接至解决方案。子项目可继承父项目依赖,无需重复指定版本号,保证向后兼容性。
|
2月前
|
存储 Java 关系型数据库
|
2月前
|
存储 XML Java
maven
maven
310 0
|
8月前
|
Java 测试技术 Maven
maven总结
maven总结
26 0
|
11月前
|
存储 Java 程序员
Maven详解
Maven详解
283 0
|
11月前
|
Java 应用服务中间件 Maven
关于Maven,你真的了解它吗?(上)
关于Maven,你真的了解它吗?(上)
|
11月前
|
Java 程序员 数据库连接
Maven的使用
Maven的使用
68 0
|
Java 应用服务中间件 Apache
零基础快速理解Maven
零基础快速理解Maven
|
Java Maven
什么是Maven?
什么是Maven?
100 0