【java】【maven】【基础】MAVEN安装配置介绍
Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。本文是学习MAVEN的启蒙。
目录
前言:Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。本文是学习MAVEN的启蒙
1 下载
打开 官方网址下载页面 MAVEN下载链接网址

2 安装-windows为例
新增文件夹develop,解压下载的文件到当前目录

3 配置环境变量

3.1 JAVA_HOME
略
3.2 MAVEN_HOME

3.3 PATH

3.4 验证
# cmd 执行
mvn
出现下图


4 MAVEN基础概念
4.1 仓库概念



4.2 坐标概念


4.2.1 打开网址
https://mvnrepository.com
4.2.2 输入搜索内容junit

4.2.3 找到对应API名称点击

4.2.4 点击对应版本


4.2.5 复制MAVEN坐标
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
4.3 配置本地仓库
4.3.1 初始默认仓库
在当前登录PC的用户名目录下有个.m2文件(前提得在cmd输入mvn才会生成)


4.3.2 修改仓库位置
1、在文件夹develop目录下新建一个文件夹repository
2、打开目录D:\develop\apache-maven-3.9.3\conf下的settings.xml
找到下图位置进行修改

3、修改到设置的仓库新位置

4.4 远程默认仓库(了解)

4.5 通过修改镜像仓库配置方式提速(必须)

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4.6 全局setting与用户setting(了解)

5 MAVEN项目
5.1 手工创建工程
5.1.1 MAVEN工程目录结构
1、基本目录结构纯手工创建文件夹

2、在project\project-java\src\main\java\ 下创建 com\runa
3、在project\project-java\src\main\java\com\runa新建一个Demo.java文件
package com.runa;
public class Demo{
public String say(String name){
System.out.println("hello " + name);
return "hello " + name;
}
}
4、在project\project-java\src\test\java\ 下创建 com\runa
5、在project\project-java\src\test\java\com\runa新建一个DemoTest.java文件
package com.runa;
import org.junit.Test;
import org.junit.Assert;
public class DemoTest{
@Test
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven",ret);
}
}
6、在project\project-java\下创建pom.xml(不要手写)

在D:\develop\apache-maven-3.9.3\lib 使用解压文件随便打开一个jar包,向上,点击查找

复制

粘贴到新建的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.runa</groupId>
<artifactId>project-java</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
5.1.2 构建命令

在project\project-java\目录下(pom.xml所在目录)打开cmd
1、编译
mvn compile


2、到maven仓库查看新增了很多文件

3、当前目录下多了target文件夹

执行下面命令可清理target文件夹(这里可暂时不执行)
mvn clean
4、测试
mvn test

执行成功会新增文件

5、打包
mvn package
在test-classes里面有jar包
6、 安装
mvn install
将打包的jar存储到本地仓库
5.2 插件创建工程

cmd进到此目录
5.2.1 java工程
mvn archetype:generate -DgroupId=com.runa -DartifactId=hellojava -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false


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

5.3 IDEA创建工程
5.3.1 配置MAVEN
1、创建一个空的项目


2、 修改sdk版本
idea-file-project struct进入文件结构---project ---project sdk:[选择你需要切换的版本]【如果没有需要的版本,需要在下面】【Platform Settings】-SDKs 中添加相应的版本

3、修改maven版本
Settings->Build ->Build tools - > maven

4、修改setting.xml配置

5.3.2 手工创建java项目
创建模块


pom.xml添加依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

为test添加package com.runa

上图test下的resources是通过手工添加文件夹的类型变更也可通过这个方式改:

或者到这里加 file-project struct进入文件结构---modules

package com.runa;
public class Demo {
public String say(String name){
System.out.println("hello " + name);
return "hello " + name;
}
}
package com.runa;
import junit.framework.Assert;
public class DemoTest {
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("hello maven", ret);
}
}
5.3.2.1 编译运行(方式一)
点击右侧的MAVEN--->Lifecycle 可执行编译测试等命令


5.3.2.2 编译运行(方式二推荐)

创建编译

可继续再创建clean,区别在Run 那里
5.3.3 原型创建java项目


上图2个箭头是手动创建哪个文件夹自动生成对应类型的(我的idea是2023-01版本)
5.3.4 原型创建web项目




5.3.5 插件
5.3.5.1 配置tomcat7

到坐标库搜索tomcat插件

目前maven3.8.8支持下图 3.9.3不行
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.runa</groupId>
<artifactId>web01</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 构建 -->
<build>
<!-- 设置插件 -->
<plugins>
<!-- 具体插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</build>
</project>
查看插件,如果没有出现点击那个刷新

点击运行上图箭头

上面地址可直接访问
5.3.5.2 自定义tomcat7的端口
<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.runa</groupId>
<artifactId>web01</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</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>

5.3.5.3 做到配置



6 pom注释说明
<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">
<!-- 指定pom的模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 打包方式, web工程打包未war java工程打包未jar -->
<packaging>war</packaging>
<!-- 组织id -->
<groupId>com.runa</groupId>
<!-- 项目id 一般项目名称 -->
<artifactId>web01</artifactId>
<!-- 版本号release(完成版) snapshot (开发版) -->
<version>1.0-SNAPSHOT</version>
<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 设置工程所有依赖 -->
<dependencies>
<!-- 具体依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</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>
7 依赖管理
7.1 依赖配置

7.2 依赖传递
将项目web01配置到java02的pom.xml



7.3 可选依赖

7.4 排除依赖

选择你的项目依赖位置

7.5 依赖范围


8 生命周期与插件
8.1 生命周期


8.1.1 clean 生命周期

8.1.2 default生命周期

8.1.3 site构建生命周期

8.2 插件

上官网

build部分,注意打的是test,
<?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.runa</groupId>
<artifactId>java01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
</dependencies>
<!-- 构建 -->
<build>
<!-- 设置插件 -->
<plugins>
<!-- 具体插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

更多推荐
所有评论(0)