一、IntelliJ idea 安装并配置maven
1. 下载maven并配置环境变量
官网 挑选版本下载,注意要和JDK对应版本,不能过低
配置环境变量 :
新建变量MAVEN_HOME,添加maven安装目录
在PATH里添加%MAVEN_HOME%\bin;
配置成功后命令行中输入 mvn -version 可看到版本信息
2. IntelliJ idea配置maven
在 Ctrl + Alt + S
中配置maven ,参考
二、IntelliJ idea中 maven Archetype
常用:
Archetype ID | 说明 |
---|---|
maven-archetype-site | Maven网站的样例 |
maven-archetype-webapp | Maven的Webapp工程样例 |
maven-archetype-quickstart | Maven工程样例 |
maven-archetype-simple | 一个简单的Maven工程 |
1. maven-archetype-webapp
一个最简单的maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
- 一个packaging为war且带有junit依赖声明的pom.xml
- src/main/webapp/目录
- src/main/webapp/index.jsp文件
- src/main/webapp/WEB-INF/web.xml文件
2. maven-archetype-quickstart
默认的Archetype,基本内容包括:
- 一个包含junit依赖声明的pom.xml
- src/main/java主代码目录及一个名为App的类
- src/test/java测试代码目录及一个名为AppTest的测试用例
三、IntelliJ IDEA创建第一个Maven项目
1. 步骤:
1) Configure -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Maven home directory -> User settings file
-> Local repository(都要勾选)-> back to Maven -> Runner -> edit VM Options -> choose JRE -> finish
2) 新建maven项目
Create New Project -> Maven -> 选择JDK -> choose Create from... -> ...maven...webapp -> GroupId -> ArtfactId -> Maven home directory
-> User settings file -> Local repository -> 点击右侧 + 号 ->设置属性 -> artchetypeCatalog/internal -> next -> finish
3) 创建文件夹
IDEA下载Jar包时要连接外网 -> download finish -> main: create new directory java,resources -> mark java as Sources Root ->
mark resources as Resources Root ->src: create new directory test ->test: create new directory java,resources
-> mark java as Test Sources Root -> mark resources as Test Resources Root
建完项目后如果jar包报错,重新下载,即点击刷新或者到本地仓库删除…update文件,再添加依赖下载;
实在不行删除整个pom文件,再把之前保存好的pom.xml再复制到项目目录下。
四、idea创建maven项目problems
1. idea创建maven项目时maven-clean-plugin等插件报错
解决方法:重新下载或者更换版本
2. idea报错Failed to read artifact descriptor for javax.servlet:servlet-api:jar:2.5
解决办法:删掉本地仓库下载的包的内容,重新reimport一遍
Failed to read artifact descriptor for javax.servlet:jstl:jar:1.2 less…
3. idea中maven项目pom文件依赖未报错,但是在maven projects模块中依赖下有红色波浪线
解决方法:删除项目,新建项目重新添加依赖下载
4. 修改web.xml web版本
问题描述:使用Maven-archetype-webapp骨架时,默认创建的web.xml是 web2.3 版本
在Maven本地仓库中找到maven-archetype-webapp
,在本地仓库用360压缩打开jar包,如下:
用记事本打开web.xml
,复制如下3.0版本,保存压缩后的文件即可
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
参考:Idea创建Maven Web工程的web.xml版本问题解决
五、war包和jar包的区别
war包
:是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\
目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean),通常这些所依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。
jar包
:通常是开发时要引用的通用类,打成包便于存放管理。简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属。打成JAR包的代码,一般作为工具类,在项目中,会应用到N多JAR工具包。