当前位置: 首页 > news >正文

Java小白-管理项目工具Maven(2)初识Maven

一、Maven安装

①安装jdk1.8或以上版本

②下载Maven(此为3.6.0):地址:Download Apache Maven – Maven     

                        下载地址:Index of /dist/maven/maven-3/3.6.0/binaries

③安装Maven到无中文路径即可

bin:含有mvn运行的脚本

boot:含有plexus-classworlds类加载器框架

conf:含有settings.xml配置文件

可以在这里设置自己的maven 本地仓库,如果不写的话默认是在C:\Users\<你的用户名>\.m2\repository

		  <localRepository>D:\maven</localRepository>

 如果有需要可以写阿里云的镜像,这样配置东西的时候就会快一些

        

  <mirrors>
    <mirror>
		<id>alimaven</id>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<mirrorOf>central</mirrorOf>
   </mirror>
  </mirrors>

lib:含有Maven运行时所需要的java类库

LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

二、Maven的环境变量

Windows 系统
  1. 打开环境变量设置

    • 任务栏搜索框直接搜“环境变量”

  2. 配置 MAVEN_HOME

    • 变量名:MAVEN_HOME,接下来浏览目录将变量值填入后确定

  3. 配置 Path

    • 在“系统变量”中找到名为 Path 的变量,点击“编辑”。

    • 在弹出的窗口中,点击“新建”,添加 Maven 的 bin 目录路径

    • 确保不要覆盖原有的路径,而是添加到现有路径的末尾

  4. 验证安装:Win+R输入cmd    输入mvn- versioin可以下载多个maven版本,我这里又用的3.6.2,这就算成功了!

三、Maven的第一个项目

根据下图创建文件(在哪创都行)

ok我创好了

在项目Hello根目录建立pom.xml

<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>cn.tx.maven</groupId>
  <artifactId>Hello</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Hello</name>
  
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<scope>test</scope>
		</dependency>		
		
	</dependencies>
</project>

 src/main/java/cn/tx/maven目录下新建文件Hello.java

package cn.tx.maven;
public class Hello {
	public String sayHello(String name){
		return "Hello "+name+"!";
	}
}

/src/test/java/cn/tx/maven目录下新建测试文件HelloTest.java

package cn.tx.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {
	@Test
	public void testHello(){
		Hello hello = new Hello();
		String results = hello.sayHello("maven");
		assertEquals("Hello maven!",results);		
	}
}

进行maven的项目操作

打开cmd命令行,进入Hello项目根目录执行 mvn compile命令,查看根目录变化(自动创建了target目录,生成一系列)

 cmd 中继续录入mvn clean命令,然后再次查看根目录变化(发现把我的target目录清除了)

 

cmd 中录入 mvn clean compile命令, 查看根目录变化

cmd 中录入 mvn clean test命令,查看根目录变化(clean → test‌:先清理旧构建产物,再编译代码并运行测试。)

cmd 中录入 mvn clean package命令,查看根目录变化

cmd 中录入 mvn clean install 查看仓库会把项目安装到仓库里

 四、第二个项目

HelloFriend/
├── src/
│   ├── main/
│   │   ├── java/                # 存放主项目的 Java 源代码
│   │   └── resources/           # 存放主项目的资源文件(如配置文件)
│   └── test/
│       ├── java/                # 存放测试相关的 Java 源代码
│       └── resources/           # 存放测试相关的资源文件
└── pom.xml                      # Maven 项目的配置文件

在项目HelloFriend根目录建立pom.xml

<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>cn.tx.maven</groupId>
  <artifactId>HelloFriend</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>HelloFriend</name>
  
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
			<scope>test</scope>
		</dependency>		
		
		<dependency>
			<groupId>cn.tx.maven</groupId>
			<artifactId>Hello</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>compile</scope>
		</dependency>		
		
	</dependencies>
</project>

 在src/main/java/cn/tx/maven目录下新建文件HelloFriend.java

package cn.tx.maven;

import cn.tx.maven.Hello;

public class HelloFriend {

	public String sayHelloToFriend(String name){
		
		Hello hello = new Hello();
		String str = hello.sayHello(name)+" I am "+this.getMyName();
		System.out.println(str);
		return str;
	}
	
	public String getMyName(){
		return "John";
	}

}

/src/test/java/cn/tx/maven目录下新建测试文件HelloFriendTest.java

package cn.tx.maven;

import static junit.framework.Assert.assertEquals;

import org.junit.Test;

import cn.tx.maven.Hello;


public class HelloFriendTest {
	@Test
	public void tesHelloFriend(){
		
		HelloFriend helloFriend = new HelloFriend();
		String results = helloFriend.sayHelloToFriend("zhangsan");
		assertEquals("Hello zhangsan! I am John",results);		

	}
}

现在Hello目录下执行mvn clean install

在HelloFriend目录下执行命令mvn package

 

发现jar包就打包好哩 

五、Maven仓库配置

何为Maven仓库?

Maven仓库是用于统一存储和管理Maven项目依赖的资源库。它为项目构建提供了一个集中化的存储和检索机制,确保项目所需的依赖能够被快速、准确地获取。

Maven仓库布局

Maven仓库通过坐标系统(groupIdartifactIdversion)来定义每个依赖在仓库中的唯一存储路径。其路径格式通常为:

groupId/artifactId/version/artifactId-version.packaging

例如,对于坐标为com.example:my-library:1.0.0的依赖,其在仓库中的路径为:

com/example/my-library/1.0.0/my-library-1.0.0.jar

仓库的分类

Maven仓库主要分为以下几类:

本地仓库
  • 路径:默认位于用户主目录下的~/.m2/repository/,但可以通过配置文件修改路径。

  • 特点:每个用户只有一个本地仓库,用于存储从远程仓库下载的依赖,避免重复下载,提高构建效率。

远程仓库

  • 中央仓库:这是Maven默认的远程仓库,包含了大多数常用的Java库和依赖。其地址为https://repo1.maven.org/maven2/
    注意:您提供的链接http://repo1.maven.org/maven2可能由于网络问题或其他原因无法访问。建议检查链接的合法性或尝试使用HTTPS协议的地址https://repo1.maven.org/maven2/

  • 私服(私有远程仓库):这是架设在局域网内的特殊远程仓库,用于存储组织内部的私有依赖或未公开的第三方库。常见的私服工具包括Nexus和Artifactory。

本地仓库 

其实前面已经提到过,我们设置全局设置本地仓库在"D:\Class_app\apache-maven-3.6.2\conf\settings.xml"文件(自己可以随便安排位置,只需要在settings中进行配置),修改该文件会影响所有使用该Maven的用户的本地仓库,保存退出即可。

创建Maven的几种方法

相关文章:

  • Cursor配置Golang开发环境
  • Java变量与常量
  • ubuntu 22.04 本地部署DeepSeek的Janus Pro
  • BigFoot EventAlertMod lua
  • 【hot100】046全排列
  • 初识数组下篇
  • 滑动窗口及边缘化直观理解
  • Maven 的常用指令
  • 编程视界:C++命名空间
  • 人工智能之数学基础:坐标变换
  • 【JavaEE】SpringIoC与SpringDI
  • 详细学习 pandas 和 xlrd:从零开始
  • 软件设计模式之简单工厂模式
  • PHP将HTML标签转化为图片
  • 理解字符流和字节流,节点流和处理流、缓冲流、InputStreamReader、BufferInputStream、BufferReader...
  • 深入解析 C 语言中含数组和指针的构造体与共同体内存计算
  • 在python中运行Wireshark抓包并保存
  • 【MACOS】用户数据过多
  • 01 音视频知识学习(视频)
  • AI绘画环境描述终极心法:《氛围渲染的量子跃迁——从三维空间到十一维叙事的降维打击》
  • 巴称巴控克什米尔地区11人在印方夜间炮击中身亡
  • 重庆大学通报本科生发14篇SCI论文:涉事学生及其父亲被处理
  • 上财发布“AI+课程体系”,人工智能如何赋能财经教育?
  • 欧洲史上最严重停电事故敲响警钟:能源转型如何保证电网稳定?
  • 独家丨刘家琨获普利兹克奖感言:守护原始的感悟力
  • 泽连斯基称与特朗普通话讨论停火事宜