构建maven项目
M2e插件安装
eclipse的mars.2版本,自带了maven插件,不需要再安装
maven在eclipse的配置
1. 选择maven软件的版本
eclipse---window---preferences---maven---installations
2. 修改本地仓库
maven安装文件的conf文件夹下的settings.xml
3. 修改默认的本地仓库地址
eclipse---window---preferences---maven---user settings
选择maven的settings.xml文件,repository仓库文件会自动改为settings.xml中配置的本地仓库
eclipse中创建项目
1. 新建项目选择Maven Project
2. 需要勾选Create a simple project跳过骨架,否则创建的项目没有resources文件夹
3. Group Id:公司或组织名称
Artifact Id:项目或模块名称
Version:版本
Packaging:打包方式
web:web工程
jar:java工程
pom:父工程
Name:不起实际作用
Description:不起实际作用
4. pom.xml文件报错
需要手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
5. 处理编译版本
在pom.xml中添加如下代码
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
在项目上右键---maven---update project
6. 创建一个servlet
public class HelloServlet extends HttpServlet { private static final long serialVersionUID = 1L; public HelloServlet() { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().append("Served at: ").append(request.getContextPath()); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
web.xml报错
因为创建servlet时候,eclipse自动添加了约束,与自带的web.xml中约束冲突,删除一个即可
添加jar包,servlet-api.jar、jsp-api.jar
项目上右键---maven---Add Dependency
scope选择provided
7. 运行项目
项目右键---run as---maven build...---tomcat:run
运行结果
重建索引
添加jar包依赖时候,在Search Result窗口没有提示功能的时候,需要创建索引
1. 打开Manven Repositories窗口
windows---show view---other---Manven Repositories
2. 在Local Repository项上右键,Rebuild Index
依赖范围
在添加jar包依赖的时候,scope的选择
1. compile
编译时需要,测试时需要,运行时需要,打包时需要
例如:struts2-core包
2. provided
编译时需要,测试时需要,运行时不需要,打包时不需要
例如:jsp-api.jar、servlet-api.jar包在tomcat上有同样的包,运行和打包时就不需要我们提供的包
3. runtime
编译时不需要,测试时需要,运行时需要,打包时需要
例如:数据库驱动包,编译时候不需要
4. test
编译时不需要,测试时需要,运行时不需要,打包时不需要
例如:junit.jar