4Maven

Maven

1简介

  • 在javaweb开发中,需要使用大量的jar包,我们手动导入就太麻烦了,如何能够让一个东西自动帮我们导入jar包,由此Maven诞生了
  • 作用: 导jar包
  • Maven 的核心思想: 约定大于配置,有约束不要去违反,Maven会规定好如何来写java代码,必须按照这个规定来

2使用

​ 下载安装

  • 下载后解压就能用

​ 配置环境变量

  • M2_HOME maven目录下的bin目录
  • MAVEN_HOME maven的目录
  • 在系统的path中配置 %MAVEN_HOME%\bin

  • 在控制台输入mvn -version测试是否成功

​ 本地仓库

  • 建立一个本地仓库:localRepository
  • 在settings.xml中 D:\java\marven\apache-maven-3.8.1\marven-repo

​ 在IDEA中使用Maven

  • 启动IDEA
  • 创建一个Maven项目
  • 可以在settings中的maven配置mavenhome,因为IDEA中经常出现一个问题,就是项目自动创建完成后,它这个MavenHome会使用IDEA默认的,我们如果发现了这个问题,手动改为本地的

3pom文件

  • pom.xml是Maven的核心配置文件
<?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>
    <!-- Maven版本和头文件   -->


    <!--   这里是我们刚才配置的GAV     -->
    <groupId>org.example</groupId>
    <artifactId>faomavenfuxi</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--  配置    -->
    <properties>
        <!--   编码版本     -->
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!--  项目依赖    -->
    <!--  Maven高级之处在于他会帮你导入这个JAR包所依赖的其他jar    -->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
        </dependency>
    </dependencies>
</project>
  • maven由于他的约定大于配置,我们可能遇到我们写的配置文件,无法被导出或者失效的问题,解决方案
  <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>
posted @ 2022-05-21 11:51  fao99  阅读(27)  评论(0)    收藏  举报