哇哦,Maven是什么工具??

简介: 哇哦,Maven是什么工具??

哇哦,Maven是什么工具??

本文的主要围绕着下面这些问题展开的,在阅读之前可以先自己思考一下问题的答案是什么?

  • • 什么是Maven

目前无论使用 IDEA 还是 Eclipse 等其他 IDE,使用里面 ANT 工具帮助我们进行编译,打包运行等工作。Apache 基于 ANT 进行了升级,研发出了全新的自动化构建工具 Maven。

Maven 使用项目对象模型(POM-Project Object Model,项目对象模型)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。在 Maven 中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。关系包含了:依赖、继承、聚合,实现 Maven 项目可以更加方便的实现导 jar 包、拆分项目等效果。

下载地址:https://maven.apache.org/download.cgi

image.png

目录结构

image.png



  • bin:存放的是执行文件,命令
  • conf:存放配置文件,里面的settings.xml是 maven 的全局配置文件。

在 IDEA 中直接集成了 Maven,setting配置存放在.m2目录下,如果没有该目录可以手动执行一下 maven 命令:mvn help:system

远程仓库和本地仓库

远程仓库指通过各种协议(如file://http://)访问的其它类型的仓库。不在本机中的一切仓库,都是远程仓库。远程仓库又分为中央仓库本地私服仓库

远程仓库可能是第三方搭建的真实的远程仓库,用来提供他们的构件下载(例如repo.maven.apache.orguk.maven.org是 Maven 的中央仓库)。

远程仓库也可以是公司自己在局域网搭建的 Maven 仓库,用来在开发团队间共享私有构件和管理发布的。

默认的远程仓库使用的 Apache 提供的中央仓库:https://mvnrepository.com/

本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件。

image.png

image.png

image.png

仓库配置

settings.xml中:主要配置了三个信息:

  1. 1. 本地仓库地址
  2. 2. 镜像仓库信息
  3. 3. 指定 JDK 的版本

配置本地仓库

本地仓库是开发者本地电脑中的一个目录,用于缓存从远程仓库下载的构件。默认的本地仓库是${user.home}/.m2/repository。用户可使用settings.xml文件修改本地仓库。具体内容如下:

"1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>具体本地仓库位置localRepository>
settings>

配置镜像仓库

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例如:我们可以使用阿里云提供的镜像替换官方镜像,提高下载依赖的速度。打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在标签中添加mirror子节点:

<mirror>
  <id>aliyunmavenid>
  <mirrorOf>*mirrorOf>
  <name>阿里云公共仓库name>
  <url>https://maven.aliyun.com/repository/publicurl>
mirror>

仓库优先级

image.png

JDK 配置

当你的本地环境中有多个jdk的时候,就需要指定你编译和运行的jdk。在settings.xml中配置:

<profile>
    <id>jdk-1.8id>
    <activation>
        <activeByDefault>trueactiveByDefault>
        <jdk>1.8jdk>
    activation>
    <properties>
        <maven.compiler.source>1.8maven.compiler.source>
        <maven.compiler.target>1.8maven.compiler.target>
        <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
    properties>
profile>

配置的前提是环境中一定要有对应版本的 jdk,不然使用的时候会报错

Maven 工程类型

1、POM 工程 POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。

2、JAR 工程 将会打包成 jar,用作 jar 包使用。即常见的本地工程 ---> Java Project。

3、WAR 工程 将会打包成 war,发布在服务器上的工程。

Maven 项目结构

--MavenDemo 项目名
  --.idea 项目的配置,自动生成的,无需关注。
  --src
    -- main 实际开发内容
         --java 写包和java代码,此文件默认只编译.java文件
         --resource 所有配置文件。最终编译把配置文件放入到classpath中。
    -- test  测试时使用,自己写测试类或junit工具等
        --java 储存测试用的类
  pom.xml 整个maven项目所有配置内容。
  • src/main/java 储存 java 源代码
  • src/main/resources储存主要的资源文件。比如 xml 配置文件和 properties 文件
  • src/test/java储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面。因为测试类本身实际是不属于项目的,所以放在任何一个包下都显得很尴尬,所以 maven 专门创建了一个测试包用于存放测试的类
  • src/test/resources储存测试环境用的资源文件
  • src包含了项目所有的源代码和资源文件,以及其他项目相关的文件。
  • target编译后内容放置的文件夹
  • pom.xml是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等等

注意:目录名字不可以随便改,因为 maven 进行编译或者 jar 包生成操作的时候,是根据这个目录结构来找的,你若轻易动,那么可能会找不到了。

目录
相关文章
|
5月前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
158 0
|
12月前
|
Java Devops jenkins
【devops】三、Build阶段工具——配置maven
【devops】三、Build阶段工具——配置maven
105 0
|
JSON 搜索推荐 Java
做了个springboot接口参数解密的工具,我给它命名为万能钥匙(已上传maven中央仓库,附详细使用说明)
更新的功能具体使用示例已经更新到博文中,请在目录中找到对应位置查看
|
Java 应用服务中间件 Apache
自动化构建工具Maven
自动化构建工具Maven
|
2月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
2月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
41 1
|
2月前
|
Java 编译器 测试技术
项目管理工具Maven的简单配置示例
【8月更文挑战第11天】这段内容介绍了如何通过Maven快速搭建并配置一个Java项目。首先需确保已安装Maven,接着可通过命令行创建一个基础项目结构,定义`groupId`、`artifactId`等基本信息。项目根目录下的`pom.xml`文件是核心配置文件,用于声明依赖库如JUnit,并配置构建插件如Maven Compiler Plugin以指定Java编译版本。最后,通过执行`mvn clean install`命令完成项目的清理与构建。这个流程适合初学者快速上手Maven项目管理。
|
3月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
106 0
|
5月前
|
Java Maven 开发者
Java一分钟之-Maven项目管理工具使用
【5月更文挑战第15天】Maven是Java开发的项目管理工具,用于自动化构建、依赖管理和项目信息管理。通过POM模型管理项目,依赖中央仓库。基本目录包括`src/main/java`、`src/main/resources`、`src/test/java`和`src/test/resources`。常用命令有`clean`、`compile`、`test`、`package`和`install`。面对依赖冲突、找不到依赖或编译错误,可以调整`pom.xml`或`settings.xml`。理解Maven的工作原理和解决常见问题能提升开发效率。
54 0
|
11月前
|
Java jenkins 持续交付
Jenkins全局工具配置(JDK、Maven、Maven插件)
Jenkins全局工具配置(JDK、Maven、Maven插件)
387 0

推荐镜像

更多
下一篇
无影云桌面