详解Maven项目管理工具

1、Maven是什么

Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需做

一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。

Maven的作用如下:

  • Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。
  • 对应第三方组件用到的共同 jar,Maven 自动解决重复和冲突问题。
  • Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
  • Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。

2、Maven项目结构

一个使用Maven管理的普通的Java项目,它的目录结构默认如下:

image-20210208203637631

项目的根目录a-maven-project是项目名

它有一个项目描述文件pom.xml

存放Java源码的目录是src/main/java

存放资源文件的目录是src/main/resources

存放测试源码的目录是src/test/java

存放测试资源的目录是src/test/resources

所有编译、打包生成的文件都放在target目录里。

image-20210208190304749

这些就是一个Maven项目的标准目录结构。

所有的目录结构都是约定好的标准结构,我们千万不要随意修改目录结构。使用标准结构不需要做任何配置,Maven就可以正常使用。

3、安装Maven

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

Windows版本:apache-maven-3.6.3-bin.zip

Linux版本:apache-maven-3.6.3-bin.tar.gz

4、配置Maven环境变量

我个人使用的是Linux

将安装的包解压后,由于我终端使用了oh-my-zsh,所有都在~/.zshrc里面配置环境变量

# maven path
MAVEN_HOME=/home/hs/文档/apache-maven-3.6.3
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

然后 source ~/.zshrc 生效环境变量

输入mvn -v ,安装完成!

image-20210208163811670

5、更换阿里云镜像

因为Maven是国外的,下载东西起来很慢,所以需要将镜像改为国内的阿里镜像

在conf目录下的settings.xml配置文件里面修改成阿里云镜像

在mirrors标签内添加以下配置

<!--阿里云镜像-->
<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>central</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

image-20210208164442233

6、建立本地仓库

先在apache-maven-3.6.3建立一个文件夹maven-repo

然后在setting.xml文件里将该仓库路径添加进去

image-20210208165856075

7、IDEA中使用Maven

创建Maven项目,勾选模板类型 选择 maven-archetype-webapp

image-20210208170632593

点击next

image-20210208170804916

选择我们的Maven所在目录,修改的配置文件以及新建立的仓库目录路径

image-20210208171306311

点击finish,提示BUILD SUCCESS代表完成!

image-20210208173143081

8、在IDEA中配置Tomcat

点击右上角的Add Configuration… 添加Tomcat Server选择Local

image-20210208192724841

由于访问一个网站我们需要指定一个文件名,就会产生Warning: No artifacts marked for deployment

点击Fix,选择第一个

image-20210208191158780

这里Application context 可写可不写,不写就默认访问 localhost:8080

如果写了比如/hs 就会访问localhost:8080/hs 这个过程叫做虚拟路径映射

image-20210208191943671

点击Run启动Tomcat ,就会访问webapp目录下的index.jsp,跳转到谷歌浏览器显示:Hello World!

image-20210208193245855

9、Maven侧边栏的使用

idea右边有一个Maven侧边栏

image-20210208194940243

  • celan代表清理target
  • compile代表编译
  • test代表ces
  • package代表打包
  • install代表安装

Plugins里装有插件,Dependencies里面存放项目依赖,里面都是jar包

10、pom.xml

pom.xml 是Maven核心配置文件

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <!-- 机构名称 项目名称 版本 以及打包方式(java打包是jar,javaWeb打包是war) -->
  <groupId>com.hs_vae</groupId>
  <artifactId>javaweb-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>javaweb-maven Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <!--项目配置-->
  <properties>
  <!-- 项目构件编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <!--    编码版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <!--项目依赖-->
  <dependencies>
    <!--具体依赖的jar包配置文件-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <!--项目构件  -->
  <build>
    <finalName>javaweb-maven</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

项目如果想加入spring mvc依赖可以在dependencies标签里面添加

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.10.RELEASE</version>
</dependency>

Maven强大之处在于它能帮我们导入这个 Spring mvc jar包所依赖的其他jar包

image-20210208200719794

Maven由于它的约定大于配置哦,之后可能写的配置文件无法导出

比如java文件夹,它这里面只能写java,假如里面写xml文件它无法导出

解决该问题只需要在build标签里面加上

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
官网下载的maven安装包 Maven安装与配置 解压并配置环境变量即可。 一、需要准备的东西 1. JDK 2. Eclipse 3. Maven程序包 二、下载与安装 1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序: 2. 将文件解压到D:\Program Files\Apache\maven目录下: 3. 新建环境变量MAVEN_HOME,赋值D:\Program Files\Apache\maven 4. 编辑环境变量Path,追加%MAVEN_HOME%\bin\; 5. 至此,maven已经完成了安装,我们可以通过DOS命令检查一下我们是否安装成功: mvn -v 三、配置Maven本地仓库 1. 在D:\Program Files\Apache\目录下新建maven-repository文件夹,该目录用作maven的本地库。 2. 打开D:\Program Files\Apache\maven\conf\settings.xml文件,查找下面这行代码: /path/to/local/repo localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录D:\Program Files\Apache\maven-repository。 3. localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。 当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。 此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。 4. 运行一下DOS命令 mvn help:system 如果前面的配置成功,那么D:\Program Files\Apache\maven-repository会出现一些文件。 四、配置Eclipse的Maven环境 1. Eclipse Oxygen,打开Window->Preferences->Maven->Installations,右侧点击Add。 2. 设置maven的安装目录,然后Finish 3. 选中刚刚添加的maven,并Apply。 4. 打开Window->Preferences->Maven->User Settings,配置如下并Apply: 至此,Maven的安装和配置全部结束。
Maven是一个常用的项目管理和自动化构建工具,它使用POM(Project Object Model,项目对象模型)描述项目信息和配置,通过插件化的架构提供了诸如项目依赖管理、编译、测试、打包等一系列构建过程的统一管理和自动化执行的功能。 Maven的打包方式是指打包项目的输出文件类型和格式,在Maven中,打包方式通过在POM文件中指定packaging元素来确定。常见的打包方式有jar、war、ear、pom等几种。 1. jar打包方式 jar是Java Archive的缩写,是一种基于ZIP格式的归档文件,jar包通常用于打包单个可执行程序或类库,被广泛应用于Java开发中。在Maven中,使用jar打包方式会将项目的源代码编译为class文件,然后打包成一个jar文件并输出到target目录中。 2. war打包方式 war是Web Application Archive的缩写,是一种基于ZIP格式的Web应用程序归档文件,war包包含了Web应用程序所需要的所有资源和配置文件。在Maven中,使用war打包方式会将项目的WEB-INF目录、Web.xml文件和相关类库打包成一个war文件并输出到target目录中。 3. ear打包方式 ear是Enterprise Archive的缩写,是一种基于ZIP格式的企业级应用程序归档文件,ear包含了由多个war、jar和可能的其他组件(如数据库脚本等)组成的企业级应用程序。在Maven中,使用ear打包方式会将多个项目的jar、war等资源打包成一个ear文件并输出到target目录中。 4. pom打包方式 pom打包方式是一种特殊的打包方式,它通常被用于父项目或聚合项目。在Maven中,使用pom打包方式不会生成任何输出文件。 总的来说,Maven的打包方式可以根据项目的需要进行选择和配置,能够实现项目快速构建、统一管理和自动化部署等一系列优秀的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值