关于maven

本文详细介绍了maven,包括它的作用,如依赖管理、跨平台构建和目录结构统一。讲解了maven的构成、pom、dependency及其关系和构建生命周期。还涵盖了maven的安装配置、仓库分类与配置、坐标的理解及作用。此外,通过手工创建maven项目,展示了不使用模版和使用模版的步骤,并在IDEA中创建maven项目的方法。

目录

一、maven是什么

二、maven的作用

(1)依赖管理

(2)跨平台构建项目

(3)统一开发目录结构统一

三、认识maven

(1)maven的构成组件

(2)pom

(3)dependency

(4)构成组件的关系

(5)构建生命周期

四、maven的安装配置

五、maven的仓库

(1)分类

(2)三类仓库之间的关系

(3)配置本地仓库

(4)配置中央仓库

六、maven的坐标

(1)坐标是什么

(2)坐标的作用

(3)坐标包含元素

(4)坐标的写法

七、手工方式创建maven项目—不使用模版

(1)创建项目目录结构

(2)编写代码

(3)添加pom.xml

(4)构建maven项目

第一步:编译

第二步(可选):清理编译结果

第三步:测试

第四步:打包

第五步:把打包结果放到本地仓库

八、手工方式创建maven项目—使用模版

(1)创建普通java项目

(2)创建web项目

九、在idea创建maven项目—不使用模版

(1)在idea配置maven

(2)创建maven项目

第一步:创建idea项目

第二步:把idea项目变成maven项目

第三步:管理maven项目

 十、在idea创建maven项目—使用模版


一、maven是什么

一个java项目构建工具

二、maven的作用

(1)依赖管理

不同框架整合,互相依赖jar包版本不同,版本不一样,程序跑起来就会报错。用maven管理jar包。

(2)跨平台构建项目

linux服务器上跑起来和我们在windows开发上跑出来的结果不一样。比如getBytes方法运行结果不一样,用maven解决这个问题。

(3)统一开发目录结构统一

不同ide工具,如eclipse、idea、jetbrains开发生成的项目文件结构不一样。用maven统一目录。

maven标准的结构如下:

三、认识maven

(1)maven的构成组件

pom、dependency

(2)pom

opm叫项目对象模型。maven把一个项目看成一个对象

(3)dependency

dependency叫依赖管理

(4)构成组件的关系

(5)构建生命周期

四、maven的安装配置

1.下载解压

Maven – 下载 Apache Maven

2.配置环境变量

需要先配置java环境,再配置:

MAVEN_HOME——>E:\apache-maven-3.8.5

PATH添加——>%MAVEN_HOME%\bin

3.测试是否配置好了

打开cmd输入mvn

五、maven的仓库

(1)分类

本地仓库、私服(一般是局域网内的maven仓库,一个公司一个团队的仓库,很多是公司自有不开源的jar包)、中央仓库(maven官方仓库,想要的jar包都有,类似于应用商店)

中央仓库网址:https://mvnrepository.com

(2)三类仓库之间的关系

 

获取jar包过程是,先在本地仓库找,没有就到私服找,私服没有才从中央仓库获取。

(3)配置本地仓库

默认仓库是C:\用户\当前用户名\.m2,存东西最好不要存C盘。要改为D:\myMaven\cangku的办法:

修改apache-maven-3.8.5/conf/settings.xml


把settings标签下的localRepository标签内的属性改一下,改成下面:

 <localRepository>D:\myMaven\cangku</localRepository>

(4)配置中央仓库

目的:配置国内镜像,加速访问中央仓库

原因:中央仓库站点在国外,下载慢,所以要加速

配置方法:修改apache-maven-3.8.5/conf/settings.xml在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>

六、maven的坐标

(1)坐标是什么

描述仓库中资源的位置

(2)坐标的作用

maven会根据坐标找到并下载(如果不在本地),对应的资源

(3)坐标包含元素

groupid、artifactid、version

groupid:所有者团队。一般是域名反写,如:com.baidu

artifactid:项目名

version:当前项目版本号

(4)坐标的写法

比如,我想知道junit的坐标写法 

找到想要的版本,点进去

复制即可

七、手工方式创建maven项目—不使用模版

(1)创建项目目录结构

先创建一个“porject-helloWorld”的项目根文件夹,然后在porject-helloWorld下创建下图的项目目录结构

(2)编写代码

main>java>com>eCorp>HelloWorld.java


package com.eCorp;


import java.lang.String;

public class HelloWorld{
public String sayHello(){
return "hello world";
}
}

test>java>TestDemo.java


import com.eCorp.HelloWorld;
import org.junit.Assert;
import org.junit.Test;

public class TestDemo{
    @Test
public void testHelloWorld(){
HelloWorld helloWorld =new HelloWorld();
Assert.assertEquals("hello world", helloWorld.sayHello());
}

}

(3)添加pom.xml

办法:找一个pom.xml文件模板,然后进行修改即可

步骤:

1.用winrar随便打开一个E:\apache-maven-3.8.5\lib下的jar,然后返回上级目录,搜索pom.xml

 结果会有很多pom.xml,随便找一个打开复制过来

2.在项目根文件夹下创建pom.xml,把复制内容拷贝过来

3.修改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>  <!--pom模型版本-->
 
  <groupId>com.eCorp</groupId>

  <name>project-helloWorld</name>
  <artifactId>project-helloWorld</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>         <!--生成结果保存形式-->

 
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
 
  <dependencies>
    <dependency>
    <!--在中央仓库搜索junit,然后把坐标写法复制过来 -->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

(4)构建maven项目

第一步:编译

步骤:

打开cmd输入:cd 项目根文件夹路径

然后输入:mvn compile

编译报错:

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] 不再支持源选项 5。请使用 7 或更高版本。
[ERROR] 不再支持目标选项 5。请使用 7 或更高版本。
[INFO] 2 errors

产生原因:maven默认是使用jdk1.4编译的。比本地安装jdk版本低就会报错

解决办法:

比如我本地安装的是jdk17,就把下面代码放到E:\apache-maven-3.8.5\conf\pom.xml里的  <profiles>标签里面

<profile>  
     <id>jdk-17</id>  
     <activation>  
         <activeByDefault>true</activeByDefault>  
         <jdk>17</jdk>  
     </activation>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <maven.compiler.source>17</maven.compiler.source>  
         <maven.compiler.target>17</maven.compiler.target>   
     </properties>   
</profile>

编译结果:编译成功会在项目根文件夹下生成一个叫target的文件,编译的.class字节码文件都在里面

第二步(可选):清理编译结果

mvn clean        //会删除target文件

第三步:测试

mvn test           //执行test测试文件夹里面的java代码,并生成测试报告

测试报告—基本信息位置:项目名\target\surefire-reports\TestDemo.txt

测试报告—详细信息位置:项目名\target\surefire-reports\TEST-TestDemo.xml

第四步:打包

mvn package       //打包项目成jar文件,在target下生成project-helloWorld-1.0.jar

第五步:把打包结果放到本地仓库

mvn install         //存放位置:本地仓库文件夹\com\eCorp<groupId>】\project-helloWorld<artifactId>】\1.0<version>】\project-helloWorld-1.0.jar

八、手工方式创建maven项目—使用模版

mvn archetype:generate              //archetype:generate表示使用模版生成项目
-DgroupId=所有者团队groupid
-DartifactId= 项目名artifactid
-DarchetypeArtifactId=maven-archetype-quickstart   //-DarchetypeArtiactId指定使用构建普通java项目的模版

/*-DarchetypeArtiactId=maven-archetype-webapp     //指定使用构建web项目的模版*/

-Dversion=当前项目版本号
-DinteractiveMode=false

(1)创建普通java项目

进入1个空的文件夹打开cmd执行:

mvn archetype:generate -DgroupId=com.eCorp -DartifactId=project-helloWorld

-DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0-snapshot -
-DinteractiveMode=false

就会在该空文件创建project-helloWorld文件夹并在文件夹里生成以下目录结构:

(2)创建web项目

进入1个空的文件夹打开cmd执行:

mvn archetype:generate -DgroupId=com.eCorp -DartifactId=web-project-helloWorld

-DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0-snapshot 
-DinteractiveMode=false

就会在该空文件创建project-helloWorld文件夹并在文件夹里生成以下目录结构:

创建后生成的pom.xml比普通java项目的pom.xml多了一句<packaging>war</packaging>

九、在idea创建maven项目—不使用模版

(1)在idea配置maven

(2)创建maven项目

第一步:创建idea项目

打开idea时会要求创建新的项目,选择创建1个空的项目

第二步:把idea项目变成maven项目

 

此时,idea项目已经变成maven项目

第三步:管理maven项目

  • 关于添加mvn命令快捷按钮(比如我要添加一个mvn clean命令的快捷按钮)

 

 然后我点击这个,就相当于执行了mvn clean了

  • 关于修改文件夹属性(比如我新建了1个资源文件夹,要标记为资源类型,就选中新建的文件夹,然后在“标记为”那一栏选择资源即可)

 

 十、在idea创建maven项目—使用模版

 ​​​​​​​

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值