MAVEN_day02快速入门
一、MAVEN工程目录结构

二、怎么在Eclipse中集成M2E插件(工欲善其事必先利其器)有一些准备工作
1.修改自己下载的MAVEN

2.设置本地仓库

三、构建MAVEN工程
1.选择“MAVEN Project”

2.勾选“create a simple project”如果不勾选的话会缺少目录结构

3.根据提示填写项目名

四、处理错误问题(按顺序处理)
1.首先会出现红色拆好问题,是因为缺少web.xml文件。在webapp中添加WEB-INF文件夹,在往文件夹添加web.xml文件。(易错)若是从其他项目直接拷贝会出现web.xml报名,原因是从其他项目拷贝会多出如下代码,只需删除重复 xmlns=http://java.sun.com/xml/ns/javaee 即可,若是手动创建不会出现问题。


2.处理jdk版本过低问题(会使用1.5)我这里是使用1.8版本 只要在pom.xml的<project>内添加如下代码即可解决。

<build>
<!-- 配置了很多插件 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
3.若是保存后还是显示1.5就要手动更新了,(更新很简单)

4.还是不行的话,用这种方法

5.经过这几步骤就好了。看

四、编写代码(入门)
1.创建一个servlet(和以往写代码一样了)

2.但是还会出现如下问题(这是学MAVEN必经理的问题,淡定),原因是没有对应的servlet-api.jar包等等。只需要添加如下代码

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency> </dependencies>

五、启动项目(TMD 终于经历这些步骤可以启动了)
1.右键点击>>"项目">>"run as" >> Maven build... 在Goals中输入“tomcat:run” >>点击run运行.

2.常见错误来了,遇到如下问题,重新安装jdk或者是你选择了和你安装版本不一致,如你安装的是jdk1.8而在pom.xml文件中写的是1.7
还有可能是这个问题

或者选择“build path” 改成1.8(你安装的版本)
六、创建本地仓库索引(缓存)
打开MAVEN视图>>"window " >>“show View” >> "other" >> "MAVEN Resposity"


七、添加所要的jar依赖(以struts-core.xxx.jar为例)
1.添加所需依赖

2.添加servlet-api、和jsp-api依赖,并且score为provided



八、依赖范围(对jar包依赖)
Compile 编译时需要,测试时需要,运行时需要,打包需要 例如:strut-core.jar各个阶段
provided 编译时需要,测试时需要,运行不需要,打包不需要 例如 servlet-api.jar
test 只需要在测试阶段,其他阶段都不需要 例如:junit.ar
runtime 编译时不需要,测试需要,运行时需要,打包需要 例如:数据驱动包
九、修改Tomcat版本、
选择“add plugin”

是不是有点多,但是你已经入门了
MAVEN_day02快速入门的更多相关文章
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- SNF软件开发机器人-子系统-功能-数据录入方式
数据录入方式 数据录入方式是指新增数据时是直接在列表上添加或者弹出表单增加数据. 1.效果展示: (1)列表 (2)表单弹出 2.使用说明: 打开显示页面,点击开发者选项的简单配置按钮.在功能表信息中 ...
- linux 命令之top
top命令是显示当前系统正在执行的进程相关信息.包含进程ID.内存占用率等:top命令格式例如以下: top [OPTIONS] OPTIONS: -b 批处理 -c 显示进程的完整名 -I 忽略失效 ...
- python多线程应用——DB2数据库备份
前言:DB2一个实例下,可以存在多个数据库,之前使用shell备份脚本,但是同一时刻只能备份一个数据库,对于几百G的备份文件,这个速度显然太慢,今天学习了Python多线程,刚好应用一下. 分析:1. ...
- IFRAME练习 各种调用
parent.html. <html> <head> <script type="text/javascript"> function say( ...
- kernel事件通知userspace
https://stackoverflow.com/questions/31646466/how-to-send-signal-from-kernel-to-user-space
- QT信号/槽
在我的理解中,QT和Android都是类似的开发框架,都是由开发团队封装了各式各样的接口和数据结构.将一些问题的解决方法简单化比如QT中将线程封装为QThread,派生类通过重写run方法来将代码投入 ...
- HDFS基础
1. HDFS Shell基础 [root@master hadoop]# hadoop fsUsage: hadoop fs [generic options] [-appendToFile < ...
- python 遍历hadoop, 跟指定列表对比 包含列表中值的取出。
import sys import tstree fname = 'high_freq_site.list' tree = tstree.TernarySearchTrie() tree.loadDa ...
- MySQL中TEXT与BLOB字段类型的区别
这篇文章主要介绍了MySQL中TEXT与BLOB字段类型的区别,本文总结了6大区别,需要的朋友可以参考下 在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程 ...
- Groovy和Java互调
Scala和Java为静态语言,Groovy为动态语言 Scala: 函数式编程,同时支持面向对象 Groovy: jvm上的脚本,较好兼容java语法,Groovy加强了Java集成. 可配置化的优 ...