maven
maven的概念
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
maven的下载
下载地址:https://maven.apache.org/
下载成功后解压到自定义的目录:
修改一些配置文件:
- 更换镜像1
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- 更换镜像2
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
</mirror>
maven环境变量配置
- 选择系统环境变量
- 新增配置
- M2_HOME maven目录下的bin目录
- MAVEN_HOME maven的目录
- 在path中配置 %MAVEN_HOME%\bin
maven在IDEA中的相关配置
repo:下载的idea通过maven下载的jar包都会存储在我们选择的这个文件夹中
修改为1.8
在idea中创建一个使用模板的maven项目
pom.xml
编译版本最好都修改为1.8
<!--todo 配置 -->
<properties>
<!-- todo 项目的默认构建编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- todo 编码版本-->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
pom.xml 中build配置
在build中配置resources,来防止我们资源导出失败的问题
<!-- 在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>
项目目录
一般我们创建的项目里面是没有java目录、resources目录的,手动建的也只是文件夹,需要右击这两个文件夹:
web.xml
web项目中web.xml 头文件 替换使用tomcat中的web.xml头文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
侧边 maven
这里可以看到jar包的依赖关系
测试
会生成一个target目录,这个就是相当于out目录
创建子项目Module
子项目中pom.xml
没有指明jar包的版本号,是因为父项目pom.xml中配置了dependencyManagement
可以看到我们在父项目中的jar包的版本号使用了${},这个是使用的自定义标签,是为了方便版本的统一管理