`
hyw520110
  • 浏览: 221033 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven部署web工程基础步骤

 
阅读更多

1.准备工作
 下载maven(url:http://archive.apache.org/dist/maven/binaries/maven-2.0.3-bin.zip ),版本为2.0.3,最新版本为2.0.6
 将maven-2.0.3解压缩到d盘根目录,添加环境变量Path,D:\maven-2.0.3\bin
 修改D:\maven-2.0.3\conf\settings.xml设置,<localRepository>D:\WADS0.5\maven-2.0.4\maven\repository</localRepository>
 D:\WADS0.5\maven-2.0.4\maven\repository为仓库文件物理路径
 打开cmd窗口
 D:\>mvn -version
 Maven version: 2.0.3
 表示maven安装成功

2.命令方式
 D:\>mvn archetype:create -DgroupId=org.fengzhong.comf -DartifactId=fzvideo -DarchetypeArtifactId=maven-archetype-webapp

 ...
 [INFO] Archetype created in dir: D:\fzvideo
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESSFUL
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 1 second
 [INFO] Finished at: Fri Oct 17 14:45:42 CST 2008
 [INFO] Final Memory: 4M/7M
 [INFO] ------------------------------------------------------------------------

(因为maven在执行过程中需要一些jar文件支持,如果localRepository设定目录下面没有这些文件,会自动去下载,如果网络连接有问题,会导致创建失败)
 org.fengzhong.comf是目录名称
 fzvideo是工程名称

 命令成功执行之后:得到目录结构
fzvideo
 pom.xml
 src
   main
      java(手动建立)
      resources
      webapp
 拷贝工程的源代码到java目录下面
 拷贝工程的资源文件到resources目录下面
 拷贝工程的发布文件到webapp目录下面
 D:\>cd fzvideo
 D:\fzvideo>mvn package

 ...
 [INFO] Exploding webapp...
 [INFO] Copy webapp webResources to D:\fzvideo\target\fzvideo
 [INFO] Assembling webapp fzvideo in D:\fzvideo\target\fzvideo
 [INFO] Generating war D:\fzvideo\target\fzvideo.war
 [INFO] Building war: D:\fzvideo\target\fzvideo.war
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESSFUL
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 5 seconds
 [INFO] Finished at: Fri Oct 17 14:50:10 CST 2008
 [INFO] Final Memory: 3M/7M
 [INFO] ------------------------------------------------------------------------

 打包完成后:D:\fzvideo\target生成target目录
fzvideo
 pom.xml
 src
  ...
 target
     classes
     fzvideo
     fzvideo.war(即为打包成功发布文件,直接放到容器中运行,例如:tomcat webapps下面)
3.eclipse插件方式(默认工程结构符合maven格式)
 菜单Run->External Tools->External Tools
 Program新增一个
  Location:D:\maven-2.0.3\bin\mvn.bat(定位mvn.bat文件)
  Working Directory:Browse Workspace 选择工程
  Arguments:package -e
4.注意:打包过程中最好将test删掉( src/test/java),否则在执行过程中由于test测试通不过而无法打包成功.
  src/main/java
  src/main/resources
  以上两个目录名称不能拼写错误,否则打包出现问题.


  maven优点:由于在项目中使用maven仓库进行jar文件管理,pom.xml文件是maven核心,使用maven可以将pom.xml中定义的jar文件自动
  拷贝到WEB-INF/lib下面,同时对java文件进行编译成class文件,和resources文件夹下面的资源文件自动拷贝到WEB-INF/classes下面,
  将整个工程打包成war文件.

 

 

 

 

 

 

 

在开发的工程中可能会使用jdk1.5的注释或泛型,如:
@Override
@SuppressWarnings("unused")
@SuppressWarnings("deprecation")
Map<String, String> map = new HashMap<String, String>();
maven默认是使用低版本编译,mvn package -e 抛出如下一些异常:

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,28] 需
要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,33] 非
法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,39] 非
法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\FileUtil.java:[374,45] 非
法字符: \65533

D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\action\news\SaveNewsIssue
ContentAction.java:[295,25] -source 1.3 中不支持注释
(请尝试使用 -source 1.5 以启用注释)
                        @SuppressWarnings("unused")
D:\wap_build2.5.1\src\main\java\org\fengzhong\wapbuild\service\research\impl\Mob
ileResearchServiceImpl.java:[165,19] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                Map<String, String> map = new HashMap<String, String>();

D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,36]
 需要 ';'
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,41]
 非法字符: \59272
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,47]
 非法字符: \58933
D:\wap_build\src\main\java\org\fengzhong\wapbuild\util\StringUtils.java:[134,53]
 非法字符: \65533

D:\wap_build\src\main\java\org\fengzhong\wapbuild\service\product\impl\ProjectIm
pl.java:[135,20] -source 1.3 中不支持泛型
(请尝试使用 -source 1.5 以启用泛型)
                List<Channel> temp2 = new ArrayList<Channel>();
说明:FileUtil.java和StringUtils.java在工程中没有问题,在类中写了main函数方法。


解决方法:需要对pom.xml配置plugin, 如果工程中的jar文件都是统一由maven管理,配置:
<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
就可以了,否则需要指定jar的物理位置:
<compilerArguments>
               <extdirs>D:\wap_build\src\main\webapp\WEB-INF\lib</extdirs>
             </compilerArguments>
lib默认一般放在工程~\WEB-INF\下面,同时也方便打包时将lib加入war文件中。
如果既没有使用maven管理jar,也没有指定compilerArguments ~  extdirs ~ lib配置路径,在编译时会抛出如:
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[3,30] 软件包 com.opensymphony.xwork 不存在
D:\wap_build\src\main\java\org\fengzhong\wapbuild\action\common\MainAction.java:
[5,32] 找不到符号
符号: 类 ActionSupport
public class MainAction extends ActionSupport{
... 等找不到软件包或符号异常。
打开pom.xml文件,配置jdk1.5编译,例如完整pom.xml文件代码:

Xml代码  收藏代码
  1. < project   xmlns = "http://maven.apache.org/POM/4.0.0"   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   
  2.   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" >   
  3.   < modelVersion > 4.0.0 </ modelVersion >   
  4.   < groupId > org.fengzhong.wapbuild </ groupId >   
  5.   < artifactId > wap_build </ artifactId >   
  6.   < packaging > war </ packaging >   
  7.   < version > 1.0-SNAPSHOT </ version >   
  8.   < name > wap_build Maven Webapp </ name >   
  9.   < url > http://maven.apache.org </ url >   
  10.   < dependencies >   
  11.     < dependency >   
  12.       < groupId > junit </ groupId >   
  13.       < artifactId > junit </ artifactId >   
  14.       < version > 3.8.1 </ version >   
  15.       < scope > test </ scope >   
  16.     </ dependency >   
  17.   </ dependencies >   
  18.   < build >   
  19.     < plugins >   
  20.         < plugin >   
  21.             < artifactId > maven-compiler-plugin </ artifactId >   
  22.             < configuration >   
  23.                 < source > 1.5 </ source >   
  24.                 < target > 1.5 </ target >   
  25.                 < encoding > UTF-8 </ encoding >   
  26.              < compilerArguments >   
  27.                < extdirs > D:\wap_build\src\main\webapp\WEB-INF\lib </ extdirs >   
  28.              </ compilerArguments >   
  29.             </ configuration >   
  30.         </ plugin >   
  31.     </ plugins >   
  32.   </ build >   
  33. </ project >   

 
都配置好的情况下:mvn package -e
...
[INFO] Generating war D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] Building war: D:\wap_build\target\wap_build-1.0-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28 seconds
[INFO] Finished at: Wed Aug 12 08:52:54 GMT 2009
[INFO] Final Memory: 4M/34M
[INFO] ------------------------------------------------------------------------
在创建的wap_build第一级目录target\下面就可以找到以pom.xml文件中: artifactId-version.war命名的部署文件了。

命令索引:
 D:\>mvn archetype:create -DgroupId=org.fengzhong.wapbuild -DartifactId=wap_build -DarchetypeArtifactId=maven-archetype-webapp
 D:\>cd wap_build
 D:\wap_build>mvn package -e
目录索引:

Js代码  收藏代码
  1. D:/  
  2.   wap_build  
  3.     src  
  4.       \main\java   ...工程中的java文件  
  5.       \main\resources   ...工程中的资源文件  
  6.       \main\webapp  ...工程中的页面文件(如:jsp,html,styles/css,js,images,WEB-INF/classes,WEB-INF/lib,WEB-INF/web.xml)  
  7.     target(BUILD SUCCESSFUL通过之后才会生成,一般重新生成时,最好把该目录删除)  
  8.         classes(编译后的类路径)  
  9.         wap_build-1.0-SNAPSHOT  ---部署文件夹  
  10.         wap_build-1.0-SNAPSHOT.war ---部署文件war  
  11.     pom.xml  

 

分享到:
评论

相关推荐

    基于maven创建web项目

    基于maven创建web项目 ...本文介绍了基于maven创建web项目的步骤,包括搭建maven环境、集成maven到Myeclipse2013和创建maven架构下的WEB工程。通过这篇文章,读者可以学习到如何使用maven来构建和管理web项目。

    maven创建web工程

    ### Maven 创建 Web 工程详解 #### 一、前言 在现代软件开发过程中,构建工具扮演着极其重要的角色。Maven 是一款流行的自动化构建工具,它不仅简化了项目的构建过程,还为 Java 应用程序提供了标准化的构建生命...

    Maven下建立web工程详细步骤

    ### Maven下建立Web工程详细步骤 #### 一、前言 在软件开发过程中,使用Maven作为构建工具来管理项目的依赖、编译、测试、打包等任务已经变得非常普遍。对于初学者而言,掌握如何使用Maven在集成开发环境(IDE)如...

    maven工程转web工程

    然而,有时我们可能需要将一个普通的Maven工程转换为Web工程,以便于部署到Web服务器上运行。这个过程涉及到对项目的配置进行一定的调整,确保其符合Web应用程序的标准结构和配置要求。以下将详细介绍如何进行这个...

    maven-web创建步骤.docx

    ### Maven Web项目创建步骤详解 #### 一、Maven与Eclipse简介 Maven是一款非常流行的Java项目构建工具,它不仅能够帮助开发者自动化构建过程,还能有效地管理项目的依赖关系。而Eclipse则是一款广泛使用的开源集成...

    maven构建web工程

    ** Maven构建Web工程详解 ** Maven是一款强大的项目管理和依赖管理工具,广泛应用于Java开发领域。它通过统一的构建过程和约定优于配置的原则,极大地简化了项目的构建、编译、测试和部署流程。在本篇内容中,我们...

    Maven Web基础搭建示例

    在构建Web项目时,Maven能够自动化处理构建过程,包括编译、测试、打包、部署等步骤,极大地提高了开发效率。本示例将详细介绍如何使用Maven搭建一个基础的Web项目,并解决创建过程中可能出现的报错问题。 ### 一、...

    idea创建基于maven的web工程共6页.pdf.zi

    【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提示我们这个压缩文件包含了一份关于在IntelliJ IDEA(简称Idea)中使用Maven构建Web项目的教程,共有六页内容。Maven是Java开发中广泛使用的项目管理和依赖管理...

    maven maven新建webproject步骤

    在开发Java Web应用程序时,Maven是一个非常重要的构建工具,它可以帮助我们管理项目的依赖、构建流程和打包。本文将详细讲解如何使用Maven创建一个新的Web项目,并调整项目结构以符合Maven的最佳实践。 首先,创建...

    创建maven动态web工程demo

    当我们需要创建一个动态Web工程时,结合Maven和Eclipse可以简化项目配置,提高开发效率。下面我们将详细探讨如何使用这两个工具来创建一个名为“APIDemo”的动态Web工程,并实现一个简单的"Hello, World!"小程序。 ...

    Intellj构建和部署Maven Web项目详解

    通过上述步骤,我们不仅创建了一个Maven Web项目,还学习了如何利用IntelliJ IDEA进行项目配置、打包和部署。这对于开发基于Java的Web应用程序来说是非常重要的技能。熟悉这些操作有助于提高开发效率,同时也有助于...

    Eclipse Maven WEB工程实战.pdf

    以上步骤为在Eclipse中利用Maven创建、配置和部署一个Web工程的全过程。每个步骤都涉及具体的操作细节,需要开发者严格按照指导进行设置和调整。通过这样的流程,可以确保Maven项目能够在Eclipse中被正确地管理和...

    idea创建基于maven的web工程共6页.pdf.zip

    【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提供的信息表明,这是一个关于使用IntelliJ IDEA(简称Idea)创建基于Maven的Web项目的教程文档,内容可能涵盖了6个主要步骤或章节。Maven是Java开发中的一个...

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

    ### Eclipse 创建 Maven 项目 动态 Web 工程完整示例 #### 一、创建 Maven 项目 在 Eclipse 中创建 Maven 项目时,首先要确保已安装 Maven 插件。如果 Eclipse 的新项目列表中未找到 Maven 选项,可以通过 **Other...

    由Git版本控制maven管理的简单web工程搭建

    总结来说,搭建一个由Git版本控制、Maven管理的简单Web工程,涉及到的关键步骤包括: 1. 学习并使用Git创建和管理代码库。 2. 设置开发环境,包括操作系统、JDK、IDEA以及Maven。 3. 创建Maven项目,并通过IDEA将其...

    maven 工程升级版本步骤

    ### Maven工程升级版本步骤 在软件开发过程中,随着项目的不断迭代和需求的变化,对Maven项目进行版本升级是一项常见的操作。下面将详细介绍如何通过一系列步骤完成Maven项目的版本升级。 #### 步骤一:更新Parent...

    IDEA 部署Web工程&Tomcat.docx

    以上步骤就是使用IDEA部署Web工程到Tomcat的基本流程。在实际开发过程中,可能还需要配置Tomcat的端口号、虚拟主机、上下文路径等,以及处理各种部署问题。熟练掌握这些操作,将使你在开发和调试Web应用时更加高效。

    maven项目转换WEB项目

    本文将详细介绍如何将一个Maven项目转换为Eclipse中的Web项目,并解释Maven的基本目录架构。 首先,让我们了解Maven项目的基本结构。一个标准的Maven项目通常包含以下几个关键目录: 1. `src/main/java`:这是存放...

    MyEclipse_+_Maven开发Web工程的详细配置过程

    本文将详细介绍如何在MyEclipse中配置Maven,以便进行Web工程的开发。 首先,我们需要在命令行环境中使用Maven创建一个基础的Web应用项目。通过执行以下命令: ```bash mvn archetype:generate -...

Global site tag (gtag.js) - Google Analytics