毕设准备---Maven

Maven

为什么要学这个技术

  1. 在Javaweb开发中,需要使用大量的jar包,我们手动去导入;
  2. 如何能够让一个东西自动帮我导入和配置这个jar包。因此,Maven诞生了!

Maven项目架构管理工具

我们目前用来就是方便导入jar包的!

Maven的核心思想:约定大于配置

  • 有约束,不要去违反

Maven会规定好你该如何去编写我们的Java代码,必须按照这个规范来。

下载安装Maven

选择太高版本的maven,IDEA或者jdk可能不兼容,在初始化时会出错,这里选择了之前发布的版本。主动降低maven的版本

https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/

下载完成之后,解压

配置环境变量

配置如下变量:

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

测试配置成功

配置阿里云镜像

D:\devtool\apache-maven-3.6.3\conf\settings.xml

<mirror> 
      <id>alimaven</id> 
      <name>aliyun maven</name> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
      <mirrorOf>central</mirrorOf> 
    </mirror> 

建立本地仓库 localRepository

先创建文件夹  maven-repo

<localRepository>D:\devtool\apache-maven-3.6.3\maven-repo</localRepository>

在IDEA中使用Maven

 在idea控制台,看见 build success 说明成功,看看maven-repo多了些什么

创建完成之后检查

新建两个文件夹,并标记他们

配置tomcat

下面有一个警告

为什么会出现这个问题:我们访问一个网站,需要指定一个文件夹名字。

启动tomcat

能看到index.jsp

maven项目说明

pom.xml

Maven的高级之处在于,他会帮我导入这个jar包所依赖的其他jar包

    <!--项目依赖-->
    <dependencies>
        <!--依赖的jar包-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

Maven由于他约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:

在build中配置resources,来防止我们资源导出失败的问题

    <build>
        <!--没有配置之前,约定java文件夹里面只能写*.java文件-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <!--让src/main/java这个目录中,可以包含*.properties 和 *.xml文件-->
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <!--让他不去过滤-->
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

猜你喜欢

转载自blog.csdn.net/Ipkiss_Yongheng/article/details/126524181