https://www.cnblogs.com/xihehua/p/9639045.html
1. 下载 Maven 压缩包
https://maven.apache.org/
Use: Download -> Files: Binary zip archive
下载,解压。
2. 配置 Maven
配置settings.xml文件
在解压目录下创建一个文件夹(maven_repository),作为本地仓库。
打开 conf 文件,修改 settings.xml 文件:
<localRepository>D:/IntelliJIDEA/maven3.6.3/maven_repository</localRepository>
Maven默认的本地仓库路径为:${user.home}(C:/Users/lenovo)/.m2/repository
另外,在settings.xml文件的<mirrors>部分加上:
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
修改原因:
因为maven默认会去连接国外的中心仓库进行下载,所以速度会很慢,所以我们需要自己来设置,让maven去国内的镜像站点下载jar文件,只需要在setting.xml配置文件中设置即可。
settings文件中的细节官网讲解:http://maven.apache.org/settings.html
配置maven环境变量(JDK类似)
系统变量增加一个变量 MAVEN_HOME
修改Path,增加 %MAVEN_HOME%\bin
检查环境变量配置是否正确:mvn -v
3. IDEA 集成 Maven 插件
-
打开 IDEA,进入IDEA没有进入项目之前的首页
-
Configure -> settings -> Build, Execution, Deployment -> Build Tools -> Maven
-
Maven -> Runner -> VM Options
-DarchetypeCatalog=internal
如果使用Maven为我们提供好的骨架来创建Maven工程的话,是需要联网的。为了确保不联网的情况下能正常创建工程,配置这个参数,只要之前联网时下载过相关创建工程的插件,它就会从本地找到插件,不需重新下载了。
4. IDEA 创建 Maven 项目
使用骨架创建 Maven 的 Java 工程
-
Create New Project -> Maven -> Create from archetype
IDEA 提供好的直接创建出可以运行的Maven骨架(模板),使用骨架前提条件是可以联网或者配置了可以使用本地寻找骨架的属性。
-
选择 org.apche.maven.archtypes:maven-archetype-quickstart
这是IDEA为Maven提供好的创建Java工程的骨架。
-
选择 Maven 地址、配置文件地址、仓库地址。(如果按照步骤3配置过了就不用选了)
-
右键 main 文件夹,new -> Directory (新版IDEA可以自动创建 resources)
如果是旧版,自己手动输入 resources,右键,Mark Directory as -> Resources Root
IDEA 不会把 Maven 标准目录创建完整,需要自己手动补齐。
不使用骨架创建 Maven 的 Java 工程
Maven -> 直接选择下一步
推荐创建Maven Java工程的时候,不使用骨架,直接自己创建一个和Maven标准目录结构很接近的工程。
使用骨架创建 Maven 的 Web 工程
-
在选择骨架时选择:org.apche.maven.archtypes:maven-archetype-webapp
-
自己在 main 下面创建文件夹 java: Mark Directory as -> Sources Root
- resources: Mark Directory as -> resources Root
新版IDEA可以自己自动创建
NOTE:如果想要在 java 文件夹下面创建 Web 类型(e.g. jsp)的文件,打开 Project Structure, 的 Modules,选中Web,右边 Web Resource Directory 选择 “+”, 找到想要放 Web 文件资源的目录。不过不建议改动 java 文件夹,java 文件夹就是放 java文件的。
5. 导入项目依赖的 jar 包
例如 servlet:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
导入之后一定要刷新一下 Maven
自己可以在官网上查找 dependency 信息:https://mvnrepository.com/
注意复制粘贴之后一定要刷新下 Maven!
打开项目之前一定先先在首页配置好Maven!!!!!!!!
补充:
1. servlet 实例之 jar 包冲突问题
tomcat:run
Maven自身集成了tomcat插件,tomcat依赖的包也肯定是Maven的tomcat插件中应该有的包。Tomcat本身依赖 servlet和jsp包。运行项目的时候,就会出现两套包,而且名称一样。
运行时有冲突,是导入servlet-api、jsp-api包的原因,我们只想让这两个自己导入的包在写代码(编译)的时候起作用,解决方法是设置Maven pom文件对这两个jar包设置作用域,使这两个jar包只在写代码的时候起作用,真正项目运行的时候不起作用。
为了防止包冲突,需要把<scope>改成provided:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
2. servlet实例之 Unable to compile class for JSP 错误 ——maven工程运行环境修改
运行之后,在运行之前确定所有环节和代码都没有问题,但是却报出这样的错误。
这时就应该考虑是插件(运行环境)出现了问题,为什么插件会不起作用呢?
原来maven默认使用的是Tomcat6,而我使用的是JDK1.8,Tomcat6不能与JDK1.8一起使用。只要将Tomcat的版本调高就行了。
在<build>里面加入tomcat7插件,并且在运行的时候,运行命令改为:
tomcat7:run
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!--如果想要修改端口-->
<configuration>
<port>8888</port>
</configuration>
</plugin>
如果记不住 groupId 怎么办?
settings -> 搜索live -> Live Templates(动态模板) -> “+”
创建自定义组,创建一个tomcat7模板,以后只要在对应文件中输入tomcat7就会出现相应的代码。
补充:还可以自己改编译环境
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- .java -->
<target>1.8</target>
<!-- .class -->
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
3. servlet实例之端口占用问题
测试完程序要把运行的项目及时停掉,释放端口。