1、File >> New >>other...,在New窗口中打开Maven,选中Maven Project,Next。

2、在New Maven Project弹出窗口中去掉勾选Create a simple project,直接next。

3、在Filter中输入 “web”找到如下图中的选项,然后Next。注:此处quickstart选项即前面勾选Create a simple project创建的普通非mavenWeb项目,此处选webapp表示构建web项目。

4、填写项目名称信息。此处实际只要填写groupId和artifactId,packge名称会自动生成,就是groupId和artifactId的合并。填写完成后点击finish则创建成功。

groupId:group 翻译成中文就是组、集团的意识,groupId就是这样一个组或集团的ID标识,就拿 Apache 来说好了,Apache 大家都不陌生吧,Apache 官网上有非常多的项目,每个项目里面肯定能找得到 org.apache.xxxx,而 org.apache 就是这里说的 groupId

artifactId:还是拿 Apache 来说,Apache 官网上有非常多的项目,而每个项目的名字就是这里的 artifactId,换句话说,artifactId 就是你的项目名

5、新建好后的项目如果出现jsp文件的错误,一般是没有引用正确的Tomcat包文件。如图:

6、项目上右键,选择Properties,弹出如下窗口。选择左侧的菜单Maven >> Project Facets,在右侧选择runtimes,勾选Apache tomcat,然后录apply-->ok,则错误消除。

7、项目 >> 右键 >> Build Path >> New Source Folder,手动加入maven项目目录,如src/main/java,src/test/java,src/test/resources等。完整的项目目录图如下:

8、此时将项目加入到tomcat即可访问项目。访问路径localhost加端口号加项目名加文件名。如:http://localhost:8070/mavenlast/index.jsp。

注:tomcat端口号即启动时出现的HTTP/1.1 on http-8070对应的号码,此号码也可在双击server时看到,如下图:

9、maven的jetty启动方式(jetty和tomcat启动是两种不同的启动方式,性能特点不同,主流启动是tomcat):

(1)项目右键-->Run as-->Maven build (Alt+Shift+X,M),出现如下对话框,

    main标签下填写goals:jetty:run,然后勾选Skip Tests选项,

    jre标签下填写VM argument:-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=384m

  点击apply-->run

(2)此时启动会报错,因为jetty启动需要相应的启动插件。在pom.xml文件中配置如下内容再启动即可。注:jetty启动访问时端口号是pom文件里配置的端口号,如下文件中配置的是8088;同时jetty启动访问时不用加项目名,不同项目识别都是通过端口号识别。如:http://localhost:8088/index.jsp。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>mavenlast</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenlast Maven Webapp</name>
<url>http://maven.apache.org</url> <properties>
<maven.jetty.plugin.version>6.1.23</maven.jetty.plugin.version>
<maven.release.plugin>2.1</maven.release.plugin>
<project.build.sourceEncoding>GBK</project.build.sourceEncoding>
<project.reporting.outputEncoding>GBK</project.reporting.outputEncoding>
<servlet.version>2.5</servlet.version>
<spring.version>3.0.7.RELEASE</spring.version>
<ibatis.version>2.3.4.726</ibatis.version>
<freemarker.version>2.3.16</freemarker.version>
<aspectj.version>1.6.9</aspectj.version> <slf4j.verison>1.6.1</slf4j.verison>
<log4j.version>1.2.16</log4j.version>
<!--Test Related-->
<junit.version>4.8.2</junit.version>
<quartz.version>1.8.4</quartz.version>
<jacksonVersion>1.9.9</jacksonVersion>
<!-- cache -->
<xmemcached.version>1.3.5</xmemcached.version>
<httpcomponents.version>4.2</httpcomponents.version>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>mavenlast</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${maven.jetty.plugin.version}</version>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>3</scanIntervalSeconds>
<systemProperties>
<systemProperty>
<name>CONFIG_DIR_PATH</name>
<value>${basedir}/config/config</value>
</systemProperty>
<systemProperty>
<name>org.mortbay.util.URI.charset</name>
<value>GBK</value>
</systemProperty>
</systemProperties>
<stopPort>9911</stopPort>
<stopKey>foo</stopKey>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8088</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
</project>

10、maven项目依赖包添加http://mvnrepository.com/

maven项目目录含义:

src/main/java application library sources - java源代码文件
src/main/resources application library resources - 资源库,会自动复制到classes文件夹下
src/main/filters resources filter files - 资源过滤文件
src/main/assembly assembly descriptor - 组件的描述配置,如何打包
src/main/config configuration files - 配置文件
src/main/webapp web application sources - web应用的目录,WEB-INF,js,css等
src/main/bin 脚本库
src/test/java 单元测试java源代码文件
src/test/resources 测试需要的资源库
src/test/filters 测试资源过滤库
src/site 一些文档
target/ 存放项目构建后的文件和目录,jar包,war包,编译的class文件等;Maven构建时生成的
pom.xml 工程描述文件
LICENSE.txt license
README.txt read me

mavenWeb工程建立步骤的更多相关文章

  1. Eclipse中STM32工程建立步骤

    前段时间一直在折腾linux系统上STM32的开发,网上一顿搜,费劲九牛二虎之力终于把环境搭好了(现在都有点忘了,后面再折腾环境搭建一定要写个教程,今天先不写了). 自从环境搭好之后,就基本抛弃MDK ...

  2. Davinci DM6446开发攻略——DSP开发工程建立

    前段时间一直忙一个项目,同时在生活上时时提防和抵抗中国地沟油.国外核心转基因调和油.大豆油.色拉油.大米玉米.可怕的喂药鱼.药水泡农药喷无虫咬的青菜,所以没时间打理自己的博客,让开发攻略停顿了一段时间 ...

  3. 部署React+webpack工程的步骤

    # 部署React+webpack工程的步骤ps:以Mac os系统做开发环境.因为npm现在使用灰常的慢,所以我使用淘宝境像cnpm. 1,准备工作: 先确保存已经安装了node.js: 2,文件部 ...

  4. Quartus II——工程建立和常用设置

    Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...

  5. springcloud工程建立 父工程+公用子模块+微服务提供模块

    建立 Java Working Set:工程多的时候可以展开收缩,方便管理 切换到Package Explorer视图,并点击视图右侧下箭头,选择Working Sets,如下图: 建立父工程,将后续 ...

  6. STCubeMX软件新建Keil和IAR工程使用步骤:

    STCubeMX软件新建Keil和IAR工程使用步骤:首先是软件下载(也可在我们的百度云下载):1.STCubeMX下载地址:    http://www.stmicroelectronics.co ...

  7. 基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)

    文章背景: dcloud官网给出的打包步骤对于有一定安卓打包基础的同学来说比较容易掌握,但是对于webapp小白来讲有的地方可能没有说的太具体.下面我给大家介绍的详细一点,保证大家按照步骤就能学会打包 ...

  8. 用stm32f0x建立新的工程重要步骤

    stm32f10x系列新建空的工程主要原理: 1.添加启动文件 不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件. 注意:启动文件是汇编语言编写的,所以文件的后缀名为.s 2. ...

  9. 用stm32f10x建立新的工程重要步骤

    stm32f10x系列新建空的工程主要原理: 1.添加启动文件 不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件. 注意:启动文件是汇编语言编写的,所以文件的后缀名为.s 2. ...

随机推荐

  1. 基于Spark GraphX计算二度关系

    关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友 ...

  2. 搭建和启动javaWeb项目

    首先,我们得配置服务器,我的demo采用tomcat 你只要找到tomcat的home路径就好了,后面会自动给你提示的

  3. UVA 624(01背包记录路径)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  4. equals、==和hashCode

    equals和== ==可以用于基本类型和引用类型:当用于基本类型时,比较值是否相同:当用于引用类型时,比较的是所指向的对象的地址是否相同.如果有包装类型,则先将包装类型转换为基本类型再比较值是否相等 ...

  5. Struts2 (三) — OGNL与值栈

    一.OGNL表达式 1.概述 1.1什么是OGNL ​ OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单 ...

  6. MyBatis缓存通俗易懂

    1.1     mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的 ...

  7. bzoj3697_FJ2014集训_采药人的路径_solution

    小道士的矫情之路: 点分治, 对于每个子树,处理其内经过根(重心)的路径,然后递归下一层子树: 如何处理经过根的合法路径 合法有两个要求: 把输入的0改成-1后 1.len=0; 2.存在一个点i使被 ...

  8. luogu P2801 教主的魔法

    题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. 每个人的身高一开始都是 ...

  9. D3.js 入门教程

    最近需要用到d3, 记录下d3的教程 网上搜了几个关于d3的教程 D3.js 入门教程      http://wiki.jikexueyuan.com/project/d3wiki/author.h ...

  10. Leetcode算法比赛----Longest Absolute File Path

    问题描述 Suppose we abstract our file system by a string in the following manner: The string "dir\n ...