myeclipse中需要集成maven3,具体操作可以参看这篇文章
http://www.cnblogs.com/fancyzero/archive/2012/06/09/maven3.html
这里就不多加描述
在创建web工程前,咱们先创建一个普通的maven工程,后面的web工程将会使用到这个工程的jar包
1.普通maven工程创建过程如下,右键>>new Maven Project>>next
输入对应的groupId,artifactId及包名
生成的文件目录结构如下
修改App.java
01 | package com.johnmy.study; |
09 | public static String handleString(String str) { |
10 | return "handled:" + str; |
保存,执行install
此时会在本地库中安装mvnapp的资源内容,下面的web工程可以直接从maven库中读取到资源
其实,还有一种更高效的方法,可以在dos窗口中使用mvn命令快速创建普通工程,再导入到myeclipse中编辑
-----------------------------------------------------------------------------------------------------------------
现在开始创建web工程
同样new maven project >> next
输入相应信息
生成的目录结构如下
修改目录结构
修改之后如下
向工程中添加资源包
也可以直接修改pom文件,这里引入了之前创建的普通工程
03 | < groupId >junit</ groupId > |
04 | < artifactId >junit</ artifactId > |
05 | < version >3.8.1</ version > |
11 | < groupId >javax.servlet</ groupId > |
12 | < artifactId >servlet-api</ artifactId > |
13 | < version >2.4</ version > |
17 | < groupId >com.johnmy.study</ groupId > |
18 | < artifactId >mvnapp</ artifactId > |
19 | < version >1.0-SNAPSHOT</ version > |
新建Myservlet.java并放到study包中
Myservlet.java
03 | import java.io.IOException; |
04 | import java.io.Writer; |
06 | import javax.servlet.ServletException; |
07 | import javax.servlet.http.HttpServlet; |
08 | import javax.servlet.http.HttpServletRequest; |
09 | import javax.servlet.http.HttpServletResponse; |
11 | import com.johnmy.study.App; |
18 | public class Myservlet extends HttpServlet { |
21 | protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { |
22 | super .doGet(req, resp); |
26 | protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { |
27 | String input = req.getParameter( "name" ); |
28 | Writer out = resp.getWriter(); |
29 | out.append(App.handleString(input)); |
32 | private static final long serialVersionUID = 1L; |
修改web.xml,及index.jsp
web.xml
01 | <!DOCTYPE web-app PUBLIC |
02 | "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
03 | "http://java.sun.com/dtd/web-app_2_3.dtd" > |
06 | < display-name >Archetype Created Web Application</ display-name > |
08 | < welcome-file >index.jsp</ welcome-file > |
12 | < servlet-name >Myservlet</ servlet-name > |
13 | < servlet-class >study.Myservlet</ servlet-class > |
16 | < servlet-name >Myservlet</ servlet-name > |
17 | < url-pattern >/myservlet</ url-pattern > |
index.jsp
04 | < meta charset = "UTF-8" /> |
05 | < title >hello maven!</ title > |
08 | < form action = "myservlet" method = "get" > |
09 | name:< input name = "name" > < input type = "submit" > |
差不多了,执行下maven test,maven install看下有木有问题
BUILD SUCCESS !!一切正常
下面就把项目部署到tomcat7中
部署之前先修改下tomcat的配置文件
D:\WebContainer\3-tomcat7\apache-tomcat-7.0.39\conf\tomcat-users.xml
1 | <? xml version = '1.0' encoding = 'utf-8' ?> |
3 | < role rolename = "manager-gui" /> |
4 | < role rolename = "manager" /> |
5 | < role rolename = "manager-script" /> |
6 | < user username = "tomcat" password = "tomcat" roles = "manager-gui,manager,manager-script" /> |
还有修改下maven3的配置文件
D:\Program Files\MavenServer\maven3\conf\settings.xml
找到servers修改之
4 | < username >tomcat</ username > |
5 | < password >tomcat</ password > |
外部配置好了,现在配置下web工程中的pom,添加tomcat7-maven-plugin
02 | < finalName >mvnwebapp</ finalName > |
05 | < groupId >org.apache.tomcat.maven</ groupId > |
06 | < artifactId >tomcat7-maven-plugin</ artifactId > |
07 | < version >2.2-SNAPSHOT</ version > |
09 | < path >/${project.build.finalName}</ path > |
10 | < server >mytomcat7</ server > |
12 | < url >http://localhost:8080/manager/text</ url > |
添加插件仓库配置,下面这两个任选其一或者两个都用
03 | < id >apache.snapshots</ id > |
04 | < url >https://repository.apache.org/content/repositories/snapshots</ url > |
06 | < enabled >false</ enabled > |
09 | < enabled >true</ enabled > |
03 | < id >apache.snapshots</ id > |
04 | < name >Apache Snapshots</ name > |
05 | < url >https://repository.apache.org/content/repositories/snapshots</ url > |
07 | < enabled >false</ enabled > |
10 | < enabled >true</ enabled > |
启动tomcat7,执行maven build
配置goals
run
访问http://localhost:8080/mvnwebapp/
提交后
成功!!!!!!
调用了普通工程的jar中的handleString()方法
如果普通工程的jar有更新并重新发布到tomcat中
只需要简单的maven install,maven bulid
修改handleString方法
1 | public static String handleString(String str) { |
2 | return "nice!!! you handled it:" + str+ "\n" + new Date().toString(); |
在mvnapp中执行maven install
在mvnwebapp中执行maven bulid
--------------------------------完---------------------------------
如有错误或问题,请指出,谢谢
转载于:http://my.oschina.net/810965872/blog/148634