Maven
- Intellij idea配置Maven
- Intellij idea创建Maven项目
- Java项目的创建
- Web项目的创建
- Intellij idea执行Maven命令
- JavaWeb项目转为Maven项目
- 遇到的问题
- 解决
了解到Maven的基础知识后,接下来,简单介绍Maven在Intellij idea的使用( 以 IntelliJ IDEA 2018.3.6 为例 )。
Intellij idea配置Maven
Intellij idea配置Maven,步骤如下:
1.打开 Intellij idea ,点击 File 和 Settings… 。如下图:
2.点击 Build,Execution,Deployment ,再点击 Build Tools , 最后点击 Maven ;接着,需要对 Maven home path、User Settings file 和 Local repository 三个地方进行重新配置。如下图:
根据自身进行相应的配置:
Maven home path:本地 Maven 目录
User Settings file:本地 settings.xml 文件目录
Local repository:本地仓库目录
Intellij idea创建Maven项目
Intellij idea创建Maven项目,步骤如下:
Java项目的创建
1.点击 File 和 New ,再点击 Project… 。如下图:
2.接着 ,弹出 New Project 窗口后 ,点击 Maven ,勾选 Create from archetype 。如下图:
注:创建 Java 项目选择 org.apache.maven.archetypes:maven-archetype-quickstart
3.点击 Next 后 ,填写GroupId(实际项目组) 、ArtifactId(当前项目的名称) 、Version(当前项目所处的版本号) 。如下图:
4.点击 Next 后 ,选择 Maven home directory(Maven) 、User settings file(settings配置文件) 、Local repository(本地仓库) 所在的目录 。如下图:
5.点击 Next 后 ,填写 Project name(项目文件名称) 、Project location(项目文件所在位置) 。如下图:
6.创建成功后,整个 Java 项目结构如下图:
Web项目的创建
1.现在,创建 Web 项目 ,点击 Maven ,勾选 Create from archetype 。如下图:
注:创建 Web 项目选择 org.apache.maven.archetypes:maven-archetype-webapp
2.点击 Next 后 ,填写GroupId 、ArtifactId 、Version 。如下图:
3.点击 Next 后 ,选择 Maven home directory 、User settings file 、Local repository 所在的目录 。如下图:
4.点击 Next 后 ,填写 Project name 、Project location 。如下图:
5.创建成功后,整个 Web 项目结构如下图:
Intellij idea执行Maven命令
完成项目创建后,在工作区的最右侧点击 Maven 可以执行 Maven 命令。如下图:
JavaWeb项目转为Maven项目
在学会 Maven 在Intellij idea的基本使用后,接下来我们学习如何将所学的 JavaWeb 项目转为 Maven 项目。步骤如下:
1.右键 JavaWeb 项目文件 ,点击 Add Framework Support…(添加框架支持) 。如下图:
2.勾选 Maven ,点击 OK 。如下图:
3.点击 OK 后 ,项目会自动生成 pom.xml 文件 。我们可以将web目录下的lib文件里的jar包删除,在 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>cn.edu.MSW</groupId>
<artifactId>MSW</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
自动生成的结构如下图:
4.配置完成后,我们还需要完善项目的结构,将java文件放在java目录下,配置文件放在resources目录下,网页文件放在webapp目录下(文件名更改,同时修改Web Resource Directory Path)。如下图:
最终结构如下图:
5.最后运行,测试成功。如下图:
遇到的问题
1. Tomcat Localhosting Log 报错:java.lang.ClassNotFoundException
2. idea 报错maven [ERROR] Maven execution terminated abnormally (exit code 1)
3. Unable to import maven project: See logs for details
解决
1. jar包有错误,查看jar是否有漏或者重新导入jar包出现 (发现jar包有漏,配置在pom.xml即可)
2. 打开 Settings ,找到 Maven 的 Runner ,添加以下参数在 VM Options中。 如下图:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
3. Intellij idea版本与Maven版本不兼容导致的(Intellij idea 2018.3.6 x64 需要 Maven 3.6.1前的版本)。 重新下载安装 Maven 3.6.0 版本,如下图配置一下即可。