Maven入门
第三部分 Maven入门
-
目标
- 了解Maven的安装、配置、集成
- 掌握Maven的基本使用
1 Maven的下载与安装【了解】
下载
官方网站:http://maven.apache.org/ 下载页面:http://maven.apache.org/download.cgi
安装
- 将压缩包解压至无特殊字符的文件夹内
2 Maven目录介绍【了解】
-
bin
脚本目录,mvn.cmd是maven的核心可执行文件 -
boot
第三方类加载器插件,类似于ClassLoader,用来加载类 -
conf
配置目录,其中的settings.xml是用于配置本地仓库的核心配置文件 -
lib
依赖的jar包
3 Maven环境变量配置【了解】
- MAVEN_HOME
- Path
- 计算机右键-属性
- 高级系统设置
- 环境变量
- 新建环境变量MAVEN_HOME
- 保存环境变量 - MAVEN_HOME
- 编辑Path变量 - 新建 - 指定MAVEN的bin目录
4 Maven配置【了解】
以下三项配置,都需要编辑Maven的核心配置文件,即%MAVEN_HOME%\conf\settings.xml
。
本地仓库配置
<settings> <!-- 1. 在settings标签下,新建localRepository标签 --> <!-- 2. 在localRepository标签体中,指定本地仓库所在的磁盘位置 --> <!-- 3. 本地仓库默认位置为${user.home}/.m2/repository --> <!-- 4. ${user.home}为当前用户的文件夹,建议使用 --> <localRepository>C:\soft\m2\repository</localRepository> </settings>
远程仓库配置
远程仓库的配置,可将两个地址,同时写入settings.xml。当遇到网络环境切换时,利用xml注释
<!-- XML Comment -->
进行切换
- 局域网私服
局域网环境使用
<settings> <!-- ... --> <mirrors> <!-- 1. 找到mirrors标签,新建mirror标签 --> <!-- 2. 在mirror标签中,指定远程仓库所在位置 --> <mirror> <id>new-hguo</id> <mirrorOf>*</mirrorOf> <name>new hguo at hrb</name> <url>http://192.168.50.187:8081/repository/maven-public/</url> </mirror> </mirrors> </settings>
-
阿里云私服
外网环境使用
<settings> <!-- ... --> <mirrors> <!-- 1. 找到mirrors标签,新建mirror标签 --> <!-- 2. 在mirror标签中,指定远程仓库所在位置 --> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus Aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> </settings>
默认JDK版本配置
默认情况下,Maven创建项目使用的JDK版本为1.5。虽不影响使用,但编译项目时会报警告,建议配置默认JDK版本。
<settings> <!-- ... --> <profiles> <!-- 1. 找到profiles标签,新建profile标签 --> <!-- 2. 在profile标签中,指定JDK版本 --> <profile> <id>jdk1.8.0</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles> </settings>
5 IDEA集成【重点】
配置本地Maven
- 打开default settings
- 配置MAVEN_HOME和settings.xml的路径
配置默认仓库
使用IDEA创建Maven项目后,默认会去网络中下载一些配置资源。需要设置参数archetypeCatalog。设置方法如下:将-DarchetypeCatalog=internal 设置到Maven--Runner--VM Options中。
参数:-DarchetypeCatalog=internal
配置字符编码
-Dfile.encoding=GBK
或:
-Dfile.encoding=UTF-8
6 创建Java工程【重点】
使用Maven创建的项目可分为3种类型:普通java项目,web项目和maven的父工程。 这三种项目对象的打包方式分别是:jar,war和pom。本课程只涉及到普通的java项目和web项目的创建。
创建步骤
- File -> New -> Project
- 选择Maven,下一步
- 填写项目的坐标信息
- 指定项目名称和路径
IDEA会把项目名中的
-
去掉,添加上即可。
Java工程目录介绍
-
src
-
main
-
java
编写java代码的目录
-
resources
存放配置文件的目录
-
-
test
-
java
编写java测试代码的目录
-
resources
存储独立于测试环境的配置文件
-
-
-
pom.xml
测试
在java目录下创建包:com.hguo.maven。然后,创建一个java类MavenTest,编写以下代码进行测试:
package com.hguo.maven; public class MavenTest { public static void main(String[] args) { System.out.println("Hello World!"); } }
运行程序:点击main方法左侧的绿色小三角,点击图标1 或者图标2 运行程序:
运行结果:如果控制台上能够正常打印如下信息,则说明工程创建没问题:
7 创建Web工程【重点】
利用骨架(脚手架)创建Web工程
- pom.xml
<?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> <groupId>com.hguo</groupId> <artifactId>maven-archtype-web</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>maven-archtype-web Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- 当创建完成后,把maven.compiler.source、maven.compiler.target的1.7版本,改为1.8版本 --> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> <!-- 以下的配置信息,是maven的插件信息,可以直接删除掉 --> <build> <finalName>maven-archtype-web</finalName> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build> </project>
- 手动完善JavaWeb的目录结构
- src
- main
- java
- resources
- webapp
- WEB-INF
- web.xml
- WEB-INF
- test
- java
- resources
- main
- src
手动创建Web工程
- 创建普通java项目
参照创建maven的java项目步骤进行创建。
- 配置打包方式
Web项目的打包方式为war,打开Maven项目的pom文件。在项目的坐标信息下添加
【import Changes】
- 配置pom.xml属性
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
-
配置webapp目录和web.xml
- 打开
Project Structure
视图
- 新增web.xml文件
按照数字图标的顺序操作
- 设置web.xml的路径
点击web.xml后会自动弹出一个窗口设置路径
- 点击Applay,OK
- 创建完成
设置完成之后,main目录下会创建
webapp
-WEB-INF
-web.xml
- 打开
JavaWeb工程目录介绍
-
src
-
main
-
java
编写java代码的目录
-
resources
存放配置文件的目录
-
webapp
用于存储web资源(jsp、html、js、css)的目录
- WEB-INF
- web.xml
- WEB-INF
-
-
test
-
java
编写java测试代码的目录
-
resources
存储独立于测试环境的配置文件
-
-
-
pom.xml
发布web项目
- Edit Configurations
- 添加Local Tomcat
- 配置Tomcat
- 启动测试
在webapp目录下新建 index.jsp 文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试</title> </head> <body> <h1>Hello Maven!</h1> </body> </html>
启动Tomcat后,访问index.jsp。如果能正确访问到hello.html。说明项目创建成功。
本文来自博客园,作者:Lz_蚂蚱,转载请注明原文链接:https://www.cnblogs.com/leizia/p/15613630.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步