我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat。构建过程如下:

1、工具准备

eclipse:版本为eclipse 4.2(Juno Service),maven插件的安装与配置参见“m2eclipse安装与配置”

tomcat:版本为apache-tomcat-6.0.37(即tomcat6.x系列,本文安装在D:\work\tomcat6\apache-tomcat-6.0.37-maven)

2、建立web应用

我们使用eclipse建立maven的web工程,步骤如下:

在eclispe中,点击【File】-【New】-【Other】,弹出如下界面:

选择“Maven”-“Manve Project”,点击【Next】

设置工作空间,可以根据项目实际情况进行设置,这里我们选择eclipse默认的工作空间“Use default Workspace location”,点击【Next】

利用archetype创建web工程,选择groupId为“org.apache.maven.archetypes”,ArtifactId为“maven-archetype-webapp”,version为“RELEASE”的archetype构建,点击【Next】

填写构件基本坐标信息,如下:

Group Id:com.rockcms //项目分组id,rockcms的域名(倒序书写)

Artifact Id:rockcms-web //rockcms项目组内构建唯一id,rockcms-web

version:1.0.0-SNAPSHOT //rockcms项目版本号,当前为快照1.0.0版本

Package:com.rockcms.framework.web //rockcms项目的java源码包路径,根据需要命名

点击【Finish】,在ecliplse导航栏中显示出我们建立的rockcms-web项目。

3.配置web工程

建立好web工程框架后,我们需要简单的完善一下它,使其成为一个结构完善的maven的web工程。

1)完善目录

让目录变成标准的maven结构,增加Maven项目必要的主目录(src/main/java)和测试目录(src/test/java)。

右键rockcms_web工程,点击【properties】,如下图

删除报错的source folder,选择错误的folder,点击【remove】

a)添加主目录

点击【Add Folder】

选择”main”,点击【Create New Folder】,输入Folder name为“java”。点击【finish】,完成主目录的建立。

在src目录下建立test/java目录,选择”src”,点击【Create New Folder】,输入Folder name为“test/java”。点击【finish】,完成测试目录的建立。

2)配置class输出路径

和标准web工程一样,我们将主程序编译到WEB-INF\classes目录下,测试程序不需要打包,所以将测试程序的编译还是编译到target目录下。具体设置如下:

为了方便起见,我们将编译的缺省目录设置为WEB-INF\classe,点击“default output folder”后的【Browser】,注意由于WEB-INF路径在src源码目录下,所以“Allow output folders for source folders”必须勾选.

没有classes目录,可通过【Create New Folder】在WEB-INF目录下建立classes目录,点击【OK】完成配置,如下图所示:

缺省目录设置完毕后,我们分别为sourcefolder选择编译位置,设置src/main/java的编译输出

选择src/main/java的编译输出,点击【Edit】

选择工程默认的输出路径(Project’s default output folder),点击【OK】

同理,将src/main/resources的输出路径也设置缺省路径Project’s default output folder,结果如下图所示:

由于test不需要打包到工程中,所以我们将test输出到target目录中,设置src/test/java的编译输出路径

为test选择指定的输出路径“test-classes”,点击“OK”完成test输出路路径设置。

此步骤很重要,会影响到发布的war包中内容,如果不将main目录下的编译路径设置到WEB-INF/classes下,则war中将没有编译后的classes,此例子将无法在tomcat下发布运行,当然,后续如果将此工程的所有类和资源打成jar,加入到此工程的依赖中,则不会有问题。

3)配置jdk版本

由于本项目采用的是jdk1.6,需要将JRE System Library设置jdk1.6

4)调整源码目录结构顺序

为了更好的展现源码结构,可以调整一下源码在eclipse的显示顺序,将src/main/java移动到最上边

设置完成后点击【OK】,关闭属性界面。

经过以上四步设置完毕后,maven的rockcms-web工程搭建完毕。

4、helloworld代码

我们将index.jsp的内容进行一下修改,以便标明显示,如下:

5、使用tomcat运行web工程

1)eclipse配置tomcat

在eclipse中配置tomcat,这样maven才能利用配置的tomcat启动web工程。配置方式:

点击【Windows】-【Preferences】,显示下图中的窗口

选择Tomcat进行配置,版本Version6.x,选择apache-tomcat-6.0.37所在位置,

如:D:\work\tomcat6\apache-tomcat-6.0.37-maven

保存配置,完成eclipse和tomcat的配置。

2)简化maven的tomcat运行命令

为了简化maven的tomcat运行命令(如:tomcat6:run),我们需要在maven的setting.xml文件中配置一个server,内容如下:

1
2
3
4
5
<server>
<id>tomcat6</id>
<username>admin</username>
<password>admin</password>
</server>

server的id为“tomcat6”,作为命令行的key,由于server配置要求我们指定链接远程服用的帐号和密码,所以我们这里配置的是tomcat的用户名和密码(例如:admin)。

接下来我们为tomcat配置访问所需的用户名和密码,编辑tomcat-users.xml配置文件(本文默认tomcat已经安装完毕,安装路径为D:\work\tomcat6\apache-tomcat-6.0.37-maven。tomcat-users.xml文件位于tomcat安装目录的”\conf”目录下),增加manager角色的用户admin,配置方式如下:

<user username=”admin” password=”admin” roles=”manager”/>

注:此处的username和password与maven的settings中server用户名和密码一致。

启动tomcat(D:\work\tomcat6\apache-tomcat-6.0.37-maven\bin\startup.bat,这里tomcat配置的端口号为8080),访问“http://127.0.0.1:8081/manager/html”地址,如下图

输入用户名和密码,查看此用户是否能够正常访问,显示如下界面说明登录成功

3)为web工程添加tomcat插件

为了能够让工程在tomcat容器中运行,我们需要在pom.xml中build工程所需要的tomcat插件,在这里我们使用org.apache.tomcat.maven:tomcat6-maven-plugin:2.1:RELEASE实现web工程的运行。tomcat6-maven-plugin在pom.xml配置如下:

下面详细说明tomcat插件的配置项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<build>
<finalName>rockcms-web</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<url>http://127.0.0.1:8081/manager</url>
<server>tomcat6</server>
<port>8081</port>
<path>/rockcms</path>
<charset>utf-8</charset>
</configuration>
</plugin>
</plugins>
</build>

详细说明一下tomcat插件的configuration配置,如下:

url:tomcat管理应用的访问路径,用来进行tomcat链接

server:用于获得maven在setting配置的远程访问的权限信息,如用户名和密码等,“tomcat6”和前面在settings.xml中配置的serverId一致。

port:端口号,8081

path:rockcms-web项目的webpath路径

charset:字符集,utf-8

4)启动tomcat运行web项目

在eclipse中利用maven命令启动tomcat,运行web工程,配置方法如下:

点击【Run】-【Debug Configurations..】,如下图:

在”Maven Build”处添加一个调试命令,具体如下:

name:调试命令名,可以是项目名或其他

Base direcory:运行的项目位置,可以通过【Browser Workspace..】,选择当前工作空间里的项目,这里为rockcms-web项目。

Goals:执行的命令,tomcat6:run,这里是简化后的命令名,这也是为什么要配置server的原因。

点击【Debug】按钮,Eclipse的console窗口中会显示启动信息。

第一次启动时,maven会下载tomcat插件,可能需要等待一会儿,后续再启动则不会在下载了,会比较快。启动成功后,访问“http://127.0.0.1:8081/rockcms/”,则会显示我们修改的helloworld界面。

以上内容为在eclipse里建立maven的web工程,并且实现了在eclipse中利用tomcat运行web工程,配置起来步骤比较多,但是环境一旦搭建完成,后续构建、发布等工作量就会大大减少。

对于开发人员来说,我们已经有一个标准的开发环境了eclipse+tomcat+web,接下来就是编写程序并进行调试了。

eclipse+maven+tomcat构建web工程的更多相关文章

  1. IDEA+Maven+Tomcat构建Web项目的三种方法

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 本文将介绍三种方 ...

  2. IntelliJ IDEA——利用maven插件构建web工程

  3. eclipse 创建maven 项目 动态web工程报错

    Eclipse 创建maven 项目 动态web工程 注:Eclipse版本为(Version: Mars.1 Release (4.5.1))maven版本为(apache-maven-3.3.9) ...

  4. eclipse 创建maven 项目 动态web工程完整示例

    需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...

  5. eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis

    接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...

  6. 什么是maven与maven的使用过程(例如在idea创建maven工程(重点讲讲idea创建使用maven管理的web工程,并且部署到tomcat上))

    什么是maven与maven的使用过程(例如在idea创建maven工程) (重点讲讲idea创建使用maven管理的web工程项目,并且部署到tomcat服务器上) 一.什么是maven? 1, M ...

  7. Maven启动Java Web工程,8081和8086端口号被占用

    Maven启动Java Web工程, <!-- 配置tomcat插件 --> <build> <plugins> <plugin> <groupI ...

  8. windows 环境下 eclipse + maven + tomcat 的 hello world 创建和部署

    主要记录自己一个新手用 eclipse + maven + tomcat 搭建 hello world 的过程,以及遇到的问题.讲真都是自己通过百度和谷歌一步步搭建的项目,没问过高手,也没高手可问,由 ...

  9. 使用Java EE 在eclipse 开发动态的Web工程(Java web项目)

    1.使用Java EE 在eclipse 开发动态的Web工程(Java web项目)1)开发开发选项切换到JavaEE2)可以在Windows->show view中找到package exp ...

随机推荐

  1. swift - UIAlertView 的用法

    1,创建一个alertview,并带有“确定”和“取消”两个按钮 (注:在这里使用alertview,会报警告,那是因为从ios 8 以后,建议使用UIAlertviewController) //警 ...

  2. MUI 页面跳转(传值+接收)

    官方:做web app,一个无法避开的问题就是转场动画:web是基于链接构建的,从一个页面点击链接跳转到另一个页面, 如果通过有刷新的打开方式,用户要面对一个空白的页面等待: 如果通过无刷新的方式,用 ...

  3. 【python系列】SyntaxError:Missing parentheses in call to 'print'

    打印python2和python3的区别 如上图所示,我的 PyCharm安装的是python3.6如果使用print 10会出现语法错误,这是python2.x和python3.x的区别所导致的.

  4. jQuery性能优化整理

    1.总是从ID选择器开始继承 2.class选择器之前使用tag 3.将jQuery对象缓存起来 4.使用链式操作 5.使用子查询 6.对直接的DOM操作进行限制 7.当需要对dom进行多次操作时,使 ...

  5. jquery背景backgroundPosition插件

    在jquery官网里找到(http://plugins.jquery.com/kbw.backgroundpos/) 语法: obj.animate({'background-position': ' ...

  6. 【BZOJ5085】最大 鸽巢原理

    [BZOJ5085]最大 Description 给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形的价值. Input 第一行两个数n,m,接下来 ...

  7. Android 仿微信朋友圈发动态功能(相册图片多选)

    代码分享 代码名称: 仿微信朋友圈发动态功能(相册图片多选) 代码描述: 仿微信朋友圈发动态功能(相册图片多选) 代码托管地址: http://www.apkbus.com/android-15276 ...

  8. 大规模网站sesson会话保持思路及实践配置

    1.需求: 请教个问题:我用lvs的rr模式,(考虑过 ipvsadm -p,但是这样就失去了负载均衡的意义感觉),后端有10台web,用一台memcached专门用于存储session文件,但是现在 ...

  9. Scikit Learn安装教程

    Windows下安装scikit-learn 准备工作 Python (>= 2.6 or >= 3.3), Numpy (>= 1.6.1) Scipy (>= 0.9), ...

  10. 无线路由器wan口和lan口ip同网段导致无法上网解决办法

    环境 本地网段为192.168.0.0/24 路由器默认网段也是192.168.0.0/24 设置好路由器wan口DHCP自动获取ip以后无法上网 解决办法 把路由器是lan口地址设置为192.168 ...