myeclipse中須要集成maven3,具體操做能夠參看這篇文章 html
http://www.cnblogs.com/fancyzero/archive/2012/06/09/maven3.html java
這裏就很少加描述 web
在建立web工程前,我們先建立一個普通的maven工程,後面的web工程將會使用到這個工程的jar包 apache
1.普通maven工程建立過程以下,右鍵>>new Maven Project>>next api
輸入對應的groupId,artifactId及包名 tomcat
生成的文件目錄結構以下 服務器
修改App.java app
package com.johnmy.study; /** * * @author JohnmyWork * @date 2013-7-30 */ public class App { public static String handleString(String str) { return "handled:" + str; } }保存,執行install
此時會在本地庫中安裝mvnapp的資源內容,下面的web工程能夠直接從maven庫中讀取到資源 eclipse
其實,還有一種更高效的方法,能夠在dos窗口中使用mvn命令快速建立普通工程,再導入到myeclipse中編輯 webapp
-----------------------------------------------------------------------------------------------------------------
如今開始建立web工程
一樣new maven project >> next
輸入相應信息
生成的目錄結構以下
修改目錄結構
修改以後以下
向工程中添加資源包
也能夠直接修改pom文件,這裏引入了以前建立的普通工程
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>com.johnmy.study</groupId> <artifactId>mvnapp</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
新建Myservlet.java並放到study包中
Myservlet.java
package study; import java.io.IOException; import java.io.Writer; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.johnmy.study.App; /** * * @author JohnmyWork * @date 2013-7-31 */ public class Myservlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String input = req.getParameter("name"); Writer out = resp.getWriter(); out.append(App.handleString(input)); } private static final long serialVersionUID = 1L; }修改web.xml,及index.jsp
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Myservlet</servlet-name> <servlet-class>study.Myservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Myservlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> </web-app>
index.jsp
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>hello maven!</title> </head> <body> <form action="myservlet" method="get"> name:<input name="name"> <input type="submit"> </form> </body> </html>差很少了,執行下maven test,maven install看下有木有問題
BUILD SUCCESS !!一切正常
下面就把項目部署到tomcat7中
部署以前先修改下tomcat的配置文件
D:\WebContainer\3-tomcat7\apache-tomcat-7.0.39\conf\tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager" /> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager,manager-script"/> </tomcat-users>還有修改下maven3的配置文件
D:\Program Files\MavenServer\maven3\conf\settings.xml
找到servers修改之
<servers> <server> <id>mytomcat7</id> <username>tomcat</username> <password>tomcat</password> </server> </servers>
外部配置好了,如今配置下web工程中的pom,添加tomcat7-maven-plugin
<build> <finalName>mvnwebapp</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2-SNAPSHOT</version> <configuration> <path>/${project.build.finalName}</path> <server>mytomcat7</server> <!-- 這裏是本地tomcat,若是是遠程服務器能夠改爲對應的地址,實現自動部署--> <url>http://localhost:8080/manager/text</url> </configuration> </plugin> </plugins> </build>
添加插件倉庫配置,下面這兩個任選其一或者兩個都用
<repositories> <repository> <id>apache.snapshots</id> <url>https://repository.apache.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>apache.snapshots</id> <name>Apache Snapshots</name> <url>https://repository.apache.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
啓動tomcat7,執行maven build
配置goals
run
訪問http://localhost:8080/mvnwebapp/
提交後
成功!!!!!!
調用了普通工程的jar中的handleString()方法
若是普通工程的jar有更新並從新發布到tomcat中
只須要簡單的maven install,maven bulid
修改handleString方法
public static String handleString(String str) { return "nice!!! you handled it:" + str+"\n"+new Date().toString(); }
在mvnapp中執行maven install
在mvnwebapp中執行maven bulid
--------------------------------完---------------------------------
若有錯誤或問題,請指出,謝謝