春风博客

春天里,百花香...

导航

<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

公告

MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com

Locations of visitors to this page

常用链接

留言簿(11)

随笔分类(224)

随笔档案(126)

个人软件下载

我的其它博客

我的邻居们

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

我的Maven2之旅:十一.打包一个web工程.

目标:将一个web工程打包.
其目录如下:


使用如下命令创建Maven工程:
mvn archetype:create -DgroupId=com.junglesong.mytodo -DartifactId=mytodo -DarchetypeArtifactId=maven-archetype-webapp

创建工程后我们还需要做以下工作:
1.将Eclipse工程MyTodo\WEB-INF\src\com下所有目录及文件拷贝到maven工程mytodo\src\main\java下,这是做源码拷贝工作.
2.将Eclipse工程MyTodo\WEB-INF下web.xml和todo.xml拷贝到maven工程mytodo\src\main\webapp\WEB-INF下,web.xml就不肖说了,而todo.xml是做持久化用的,供源码使用,故而要拷贝.
3.将Eclipse工程MyTodo下web目录拷贝到mytodo\src\main\webapp下,这是做页面文件拷贝工作.
到此文件转移完成.

此后,我们还需要修改一下pom.xml文件,以下是工程中使用的文件源码:

<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.junglesong.mytodo</groupId>
  
<artifactId>mytodo</artifactId>
  
<packaging>war</packaging>
  
<version>1.0-SNAPSHOT</version>
  
<name>mytodo Maven Webapp</name>
  
<url>http://maven.apache.org</url>
  
<dependencies>
    
<dependency>
      
<groupId>junit</groupId>
      
<artifactId>junit</artifactId>
      
<version>3.8.1</version>
      
<scope>test</scope>
    
</dependency>
    
<dependency>
      
<groupId>dom4j</groupId>
      
<artifactId>dom4j</artifactId>
      
<version>1.6.1</version>
      
<scope>compile</scope>
    
</dependency>
    
<dependency>
      
<groupId>javax.servlet</groupId>
      
<artifactId>servlet-api</artifactId>
      
<version>2.4</version>
      
<scope>provided</scope>
    
</dependency>
  
</dependencies>
  
<build>
    
<finalName>mytodo</finalName>
  
</build>
</project>

值得注意的是dependency中servlet一处的写法.

此后执行mvn package 我们就会得到打包文件mytodo.war.

打开Tomcat Web Application Manager 页面,将mytodo.war载入后,输入:
http://127.0.0.1:8080/mytodo/ShowPage
将出现如下画面:


执行原有的操作都能正确反映,说明我们这一路过程都是正确的.

例程下载:
http://www.blogjava.net/Files/sitinspring/mytodoMvnPrj20070626094131.zip

posted on 2007-06-25 23:04 sitinspring 阅读(7405) 评论(3)  编辑  收藏 所属分类: Maven2之旅

评论

# re: 我的Maven2之旅:十一.打包一个web工程. 2009-02-17 09:13 长青

如果我想使用webapp的web根路径为web,请问这该怎么修改
  回复  更多评论   

# 打包一个web工程.报这种错误? 2009-03-05 11:10 shmy

[INFO] Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)  回复  更多评论   

# re: 我的Maven2之旅:十一.打包一个web工程. 2010-02-23 17:48 cuker919

<build>
<finalName>ap-manager</finalName>
<!-- 设定Web应用中编译结果输出到WEB-INF/classes 中, 与使用IDE时相同 -->
<outputDirectory>src/webapp/WEB-INF/classes</outputDirectory>
<pluginManagement>
<plugins>
<!--SITE PLUGIN-->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>zh_CN</locales>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
</plugin>

<!-- war插件, 设定webapp目录为/webapp -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<configuration>
<warSourceDirectory>src/webapp</warSourceDirectory>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>src/webapp/WEB-INF</directory>
<includes>
<include>lib</include>
<include>classes</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</pluginManagement>

</build>  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
sitinspring(http://www.blogjava.net)原创,转载请注明出处.