Java web入门笔记——第五章

五、Maven

为什么要学习这个技术?

  1. 在Java Web开发中,需要使用大量的jar包,我们手动去导入;

  2. 如何能够让一个东西自动帮我们导入和配置这个jar包;

由此,Maven诞生了!

5.1 Maven项目架构管理工具

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

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

  • 有约束,不要去违反

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

5.2 下载安装Maven

官网:http://maven.apache.org/

Java web入门笔记——第五章

下载完成后解压即可

5.3 配置环境变量

在我们的系统环境变量中

配置如下配置:

  • M2_HOME maven目录下的bin目录

  • MAVEN_HOME maven的目录

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

  Java web入门笔记——第五章

测试Maven是否安装成功,保证必须配置完毕!

5.4 阿里云镜像

  • 镜像:mirrors

    • 作用:加速下载

  • 国内建议使用阿里云的镜像

<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>
 

5.5 本地仓库

在本地的仓库,远程仓库;

建立一个本地仓库:

<localRepository>D:\Program Files\Apache Software Foundation\apache-maven-3.8.2\maven-repo</localRepository>

5.6 在IDEA中使用Maven

  1. 启动IDEA

  2. 创建一个Maven项目

  Java web入门笔记——第五章      

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  1. 等待项目初始化完毕

  Java web入门笔记——第五章

  1. 观察maven仓库中多了什么东西

  Java web入门笔记——第五章

  1. IDEA中的Maven设置

  IDEA项目创建成功后,看一眼Maven的配置

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  自动导入源码可选但没必要,选中自动导入文档可能导致内存占用有点大

  1. 到这里,Maven在IDEA中的配置和使用就OK了!

5.7 创建一个普通的Maven项目

Java web入门笔记——第五章

Java web入门笔记——第五章

这个是只有在webapp下才会有!

Java web入门笔记——第五章

5.8 标记文件夹功能

  1. 直接右击目标文件夹对文件夹进行标记修改

  Java web入门笔记——第五章

  1. 利用Project Structure对项目内的文件夹进行

  Java web入门笔记——第五章

  Java web入门笔记——第五章

 

 

 

5.9 在IDEA中配置Tomcat

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

解决警告问题

为什么会有这个问题:

  • 必须要的配置:我们访问一个网站,需要指定一个文件夹的名字

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

  Java web入门笔记——第五章

 

 

 

5.10 pom文件

pom.xml是Maven的核心配置文件

Java web入门笔记——第五章

 1 <?xml version="1.0" encoding="UTF-8"?>
 2  ​
 3  <!--Maven版本和头文件-->
 4  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 6    <modelVersion>4.0.0</modelVersion>
 7  ​
 8    <!--这里就是刚才配置的GAV-->
 9    <groupId>org.example</groupId>
10    <artifactId>javaweb-01-maven</artifactId>
11    <version>1.0-SNAPSHOT</version>
12    <!--Package:项目打包的方式
13    jar:Java应用
14    war:Javaweb应用
15    -->
16    <packaging>war</packaging>
17  ​
18    <!--配置-->
19    <properties>
20      <!--项目的默认构建编码-->
21      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22      <!--编码版本-->
23      <maven.compiler.source>1.7</maven.compiler.source>
24      <maven.compiler.target>1.7</maven.compiler.target>
25    </properties>
26  ​
27    <!--项目依赖-->
28    <dependencies>
29      <!--具体依赖的jar包配置文件-->
30      <dependency>
31        <groupId>junit</groupId>
32        <artifactId>junit</artifactId>
33        <version>4.11</version>
34        <scope>test</scope>
35      </dependency>
36    </dependencies>
37  ​
38    <!--项目构建使用的东西-->
39    <build>
40      <finalName>javaweb-01-maven</finalName>
41      <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
42        <plugins>
43          <plugin>
44            <artifactId>maven-clean-plugin</artifactId>
45            <version>3.1.0</version>
46          </plugin>
47          <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
48          <plugin>
49            <artifactId>maven-resources-plugin</artifactId>
50            <version>3.0.2</version>
51          </plugin>
52          <plugin>
53            <artifactId>maven-compiler-plugin</artifactId>
54            <version>3.8.0</version>
55          </plugin>
56          <plugin>
57            <artifactId>maven-surefire-plugin</artifactId>
58            <version>2.22.1</version>
59          </plugin>
60          <plugin>
61            <artifactId>maven-war-plugin</artifactId>
62            <version>3.2.2</version>
63          </plugin>
64          <plugin>
65            <artifactId>maven-install-plugin</artifactId>
66            <version>2.5.2</version>
67          </plugin>
68          <plugin>
69            <artifactId>maven-deploy-plugin</artifactId>
70            <version>2.8.2</version>
71          </plugin>
72        </plugins>
73      </pluginManagement>
74    </build>
75  </project>

 

Maven自动导入jar包:

  1. 先从Maven仓库中找到要导入的包对应的Maven语句

    Java web入门笔记——第五章

  1. 复制后粘贴到项目中,Maven就会自动导包

    Java web入门笔记——第五章

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

 1    <!--在build中配置resources,来防止我们资源导出失败的问题-->
 2      <build>
 3          <resources>
 4              <resource>
 5                  <directory>src/main/resources</directory>
 6                  <excludes>
 7                      <exclude>**/*.properties</exclude>
 8                      <exclude>**/*.xml</exclude>
 9                  </excludes>
10                  <filtering>false</filtering>
11              </resource>
12              <resource>
13                  <directory>src/main/java</directory>
14                  <includes>
15                      <include>**/*.properties</include>
16                      <include>**/*.xml</include>
17                  </includes>
18                  <filtering>false</filtering>
19              </resource>
20          </resources>
21      </build>

 

5.11 IDEA操作

可用右上角的目录树按钮查看Maven中jar包的联系关系图

Java web入门笔记——第五章

Java web入门笔记——第五章

上一篇:MySQL基础篇之DML使用语法与说明


下一篇:Hive DML数据操作(数据导入导出)