JavaWeb入门-Maven

Maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

首先提出一个疑问:为什么要学这个工具?

  1. 在Javaweb开发中,我们往往需要手动导入大量的jar包,这个过程是繁琐的
  2. 如何让一个东西自动帮我们导入和配置jar包呢?于是Maven工具诞生了

Maven项目架构工具

目前来说,我们学习这项工具就是用来方面导入jar包的,并且在学习之前,我们需要记住一句话:

Maven的核心思想:约定大于配置(具有约束,但不要去违反)简单来说就是,Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来~

下载安装Maven

下载地址:https://maven.apache.org/download.cgi
在这里插入图片描述

配置环境变量

在我们的系统环境变量中,如下配置:

  • M2_HOME(Maven目录下的bin目录)

  • MAVEN_HOME(Maven的目录)

  • 在系统的path中配置MAVEN_HOME(%MAVEN_HOME%\bin)

完成上述步骤之后,我们打开控制台输入mvn -version命令行,如果可以成功返回Maven的版本号,这说明已配置成功~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D1TiKwuk-1644134147671)(../../学习笔记/md/Javaweb.assets/image-20210907212805405.png)]

阿里云镜像

  • 镜像:mirrors
    • 作用:加速我们的下载
  • 国内建议使用阿里云镜像

修改maven根目录下的conf文件夹中的setting.xml文件,添加内容如下:

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

本地仓库

建立一个本地仓库:localRepository

在Maven的根目录下新建一个文件夹,命名为maven-repo,并且在setting.xml文件内,添加内容如下:

<localRepository>D:\Users\12709\Documents\Tools\apache-maven-3.8.2\maven-repo</localRepository>

并且在标签内添加maven-repo的绝对路径~

在IDEA中使用Maven

1、启动IDEA

2、创建一个Maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E796sK8W-1644134147671)(../../学习笔记/md/Javaweb.assets/image-20210907214401875.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5boDcKWW-1644134147671)(../../学习笔记/md/Javaweb.assets/image-20210907214618304.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aC2dzDuV-1644134147672)(../../学习笔记/md/Javaweb.assets/image-20210907215004733.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R6owxK20-1644134147672)(../../学习笔记/md/Javaweb.assets/image-20210907215446016.png)]

在这里需要提一下,功能强大的IDEA是自带了Maven的,不过可配置的选项较少,并且为了可以操控自己的本地仓库,所以可以选择自己路径下的Maven

3、如果IDEA的版本比较新,那么创建完成之后,IDEA会自动下载jar包,如果版本比较旧,也可以点击右下角的命令请求(Enable Auto-Imported),然后等待项目初始化完毕!直到IDEA的控制台返回创建成功的提示~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E9n68oOj-1644134147673)(../../学习笔记/md/Javaweb.assets/image-20210907220747049.png)]

4、观察Maven根目录下的maven-repo文件夹,可以发现原本空空如也的文件夹多了非常多文件如此一来,本地仓库也搭建成功

5、IDEA中的Maven配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHpFfleA-1644134147673)(../../学习笔记/md/Javaweb.assets/image-20210907221430410.png)]

需要注意的是,IDEA中配置Maven会经常出现一个问题:就是项目自动创建完毕之后,它的Maven home有可能会使用IDEA默认的Maven,如果我们发现了这个问题,就可以在Maven配置中手动改成本地的。

到这里,Maven在IDEA中的配置和使用就已经完成了~

不过呢,这样创建的Maven项目并不能算是最好的,因为我们是使用Maven的模版去生成的~

创建一个普通的Maven项目

创建一个普通的Maven项目其实非常简单,我们只需要在上述步骤中,不选择模版创建,直接点击Next就可以~

按照上述步骤进行操作,可以发现它并没有让我们执行去选择仓库路径等操作,这样一来,一个干净的Maven项目就顺利创建成功!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OAU1uE9A-1644134147674)(../../学习笔记/md/Javaweb.assets/image-20210907223049707.png)]

而我们第一次创建的Maven项目,则会有一些在Web应用下才会有的文件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BhV2XZeM-1644134147676)(../../学习笔记/md/Javaweb.assets/image-20210907223240571.png)]

所以为了“还原”这“干净的”Maven项目,我们需要手动创建一些文件夹~

但是,当我们创建java文件夹之后,发现这个java文件夹并没有标蓝,也不可以在文件夹内创建class文件,于是我们需要使用标记文件夹功能~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-knaK01hH-1644134147677)(../../学习笔记/md/Javaweb.assets/image-20210907223652957.png)]

同理,我们也可以将resources目录标记成资源目录~

在IDEA中配置Tomcat

在IDEA界面的左上角,可以发现一个类似于绿色榔头一样的图案,我们只要点击这个图案旁边的方框,便可以进入配置界面,再点击配置界面左上角的“+”符号,便可添加配置,选择Tomcat Server:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c6aROvdv-1644134147678)(../../学习笔记/md/Javaweb.assets/image-20210907224952272.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nqD4nnUd-1644134147679)(../../学习笔记/md/Javaweb.assets/image-20210907225951805.png)]

如何解决警告问题:直接点击右下角的Fix即可~

至于为什么会出现这样的一个问题,简单来说,我们在访问一个网站的时候,需要指定一个文件夹的名字,这是必须要的配置~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCRgwALx-1644134147680)(../../学习笔记/md/Javaweb.assets/image-20210907230522017.png)]

在上述的界面中,Application context栏目可写可不写,如果不写,那默认的就会访问localhost:8080,假设我们写了/ayin,就会访问localhost:8080/ayin,这个过程我们称之为虚拟路径映射!

如果弹窗报错为“SSL HTTP Connector node not found: set up one in the server.xml”这串字符,可以通过在Tomcat配置界面中将HTTPs一栏设置为空。

点击运行之后,等待一小会,成功运行会弹出“HelloWorld!”网页,而这个网页访问的是webapp文件夹下默认的index.jsp文件的内容!

pom.xml

POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。

该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

<!-- Maven的高级之处在于,他会自动帮你导入这个jar包所依赖的其他jar-->
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.9</version>
    </dependency>
</dependencies>

扩展一下:Maven由于它的大于配置,我们之后可能会遇到写的配置文件,无法被导出或生效的问题,解决方案如下:

<!-- 在build中配置resources,来防止我们资源导出失败的问题-->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RrDoCjCO-1644134147681)(../../学习笔记/md/Javaweb.assets/image-20210908221825285.png)]

我们可以在IDEA右侧展开栏中,点击蓝色闪电图标右边第一个图标,这样我们就可以得到关于jar包的关系树~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值