Maven介绍
1. Maven是一个项目管理和整合工具 。基于工程对象模型(POM)的概念。
2. 当我们创建一个Maven项目后,就不需要再自己去导入各种jar包了,将需要导入的jar包依赖信息配置在pom.xml中,Maven会根据具体的配置自动地在编译、测试和运行的时候,从本地仓库中导入相应的各种依赖。
3.约定优于配置的思想。
Maven使用约定而不是配置,开发者不需要再关心每一个配置细节。当创建Maven工程时,Maven会创建默认的工程结构。开发者只需要合理地放置文件,并在pom.xml中添加项目相关的依赖。
Maven项目规定了源码文件、资源文件、测试文件、输出文件等的默认配置,简单地说就是把这些文件规定放在对应的路径下方便管理,如下表所示,假设${basedir}表示工程目录:
项目工程的路径 | 存放的文件类型 |
---|---|
${basedir}/src/main/java | 项目源码 |
${basedir}/src/main/resources | 资源文件,比如.properties文件 |
${basedir}/src/test/java | 测试用的源码 |
${basedir}/src/test/resources | 测试用的资源文件 |
${basedir}/target/classes | 编译后的文件 |
${basedir}/target/test-classes | 编译后用于测试的文件 |
创建Maven项目和依赖
File->New->Other...->Maven Project->Next, 进入如下界面
点击Next,输入webapp,选择maven-archetype-webapp,如下图
点击Next,填写Group Id和Artifact Id ,例如:
Maven坐标: groupId:artifactId:packaging:version
groupId:团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创建这个项目的组织名称的逆向域名开头。
artifactId:在groupId下的表示一个单独项目的唯一标识符。(即eclipse项目名称)
version:一个项目的特定版本。这种标识给版本加上一个"SNAPSHOT"的标识。
然后finish即可。
由于项目会自动生成index.jsp,所以需要添加Tomcat运行时库,对着项目右键,Build Path->Add Library,选择Server Runtime,
点击Next,选择Apache Tomcat v8.5,finish。
(我使用的eclipse版本是Version: Oxygen.2 Release (4.7.2))
其它
修改项目编码:项目右键-》Properties-》Resource-》Text file encoding-》Other 选择UTF-8
设置JRE System Library:项目右键-》Properties-》Java Build Path,选中JRE System Library,点击Edit,选择Workspace default JRE.
修改Project Facets:项目右键-》Properties-》Project Facets
修改dynamic web module版本:http://blog.csdn.net/u013066244/article/details/53737199
JDK/Tomcat等的版本约束
tomcat官方:http://tomcat.apache.org/whichversion.html
Servlet Spec | JSP Spec | EL Spec | WebSocket Spec | JASPIC Spec | Apache Tomcat Version | Latest Released Version | Supported Java Versions |
---|---|---|---|---|---|---|---|
4.0 | 2.3 | 3.0 | 1.1 | 1.1 | 9.0.x | 9.0.6 | 8 and later |
3.1 | 2.3 | 3.0 | 1.1 | 1.1 | 8.5.x | 8.5.29 | 7 and later |
3.1 | 2.3 | 3.0 | 1.1 | N/A | 8.0.x (superseded) | 8.0.50 (superseded) | 7 and later |
3.0 | 2.2 | 2.2 | 1.1 | N/A | 7.0.x | 7.0.85 | 6 and later (7 and later for WebSocket) |
2.5 | 2.1 | 2.1 | N/A | N/A | 6.0.x (archived) | 6.0.53 (archived) | 5 and later |
2.4 | 2.0 | N/A | N/A | N/A | 5.5.x (archived) | 5.5.36 (archived) | 1.4 and later |
2.3 | 1.2 | N/A | N/A | N/A | 4.1.x (archived) | 4.1.40 (archived) | 1.3 and later |
2.2 | 1.1 | N/A | N/A | N/A | 3.3.x (archived) | 3.3.2 (archived) | 1.1 and later |
Dynamic web project时选择2.5和3.0是指servlet的版本,是2.5的还是3.0的
我电脑上JDK版本1.9,Tomcat版本8.5,所以可以设置Dynamic web project为3.1
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
</web-app>
版本不匹配经常造成jsp网页404,都是坑啊。