`
hyw520110
  • 浏览: 212096 次
  • 性别: 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  

 

分享到:
评论

相关推荐

    Eclipse中创建Web Maven Project并部署到Tomcat中

    其实之所以不用重启Tomcat等应用服务器,其根本原因是因为我们可以在应用服务器的配置文件中设置虚拟目录,这样就可以知道web 项目所在的目录,于是就可以省去打包、然后再重新发布到服务器的步骤。

    maven window下安装包

    第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.1 Nexus的访问控制模型 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为...

    Maven2 的新特性.7z

    安装Maven2的步骤非常简单:首先从Maven官方网站下载相应的软件包,目前是Maven 2.0.1;然后解压,并设置环境变量M2_HOME= Maven2的解压安装目录;最后将%M2_HOME%/bin添加到path中,方便Maven在任何目录下运行。 ...

    Idea部署tomcat服务实现过程图解

    IDEA2020导入非maven项目并部署tomcat的方法在idea中将创建的java web项目部署到Tomcat中的过程图文详解idea打包成war包部署到tomcat及访问路径问题(图文详解)Idea配置maven-tomcat-plugin插件实现项目部署IDEA导入...

    java班级管理源码-MavenIn28Minutes:Maven初学者教程和示例

    java班级管理源码Maven 初学者教程 - 28 分钟内的示例 安装 Eclipse 和 Java 课程大纲 我们将使用 Handson Real World 示例来了解 Maven 可以做什么。 我们将了解 Maven 如何使应用程序开发人员的生活变得轻松。 ...

    jenkins_git_maven_tomcat_jdk.zip

    jenkins自动化部署全套方案:包括tomcat、jdk、maven、git; 而且还包括jenkins所需插件(plugins.zip); 首次安装选择推荐插件时出现“: No such plugin: cloudbees-folder” 解决方案 1、下载附件资源:cloudbees-...

    基于SSM的学生信息管理系统.zip

    搭建步骤 1、数据库导入,新建数据库student_manager,将student_manager.sql文件导入并运行。 2、打开项目,使用idea打开项目,在src/main/resources/jdbc.properties中修改数据库配置文件 3、运行项目 Java版本 ...

    HelloJPro-Maven:使用Maven的JPro的HelloWorld

    HelloJPro-Maven 这个项目是的世界 有关JPro的更多信息:网站: -Twitter: 如何开始 网页浏览器 在前台启动jpro(开发模式) mvn jpro:run 在后台启动jpro(服务器模式) mvn jpro:restart 在Web浏览器中打开...

    基于IDEA+Maven+SSM框架+mysql的高并发商品秒杀项目源码+数据库+项目说明.zip

    ## 快速部署 2、数据库脚本放在nguSeckill项目的sql目录下,在MySQL中执行数据库脚本 3、数据库配置在nguSeckill项目的src/main/resources目录下的jdbc.properties文件中 4、在IntelliJ IDEA中运行nguSeckill项目...

    jenkins持续集成环境搭建步骤

    jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、...

    基于SpringBoot+vue房屋租赁系统(源码+部署说明+演示视频+源码介绍).zip

    部署说明详细介绍了如何将这个项目部署到服务器上,包括环境配置、数据库配置、应用启动等步骤。演示视频则通过实际操作,展示了这个系统的各种功能和操作流程。 总的来说,这个基于SpringBoot和Vue的房屋租赁系统...

    Demo-App:一个Java应用程序,该程序在Google Kubernetes精心安排的Apache Tomcat Docker容器中部署指定的Web工件

    演示Web工件处理程序POC应用程序一个Java应用程序,它在由Google Kubernetes精心组织的Apache Tomcat Docker容器中部署指定的Web工件。 使用库进行Docker映像处理,并使用库进行Google Kubernetes编排。 此Java ...

    基于ssm+Vue的新冠疫苗接种管理系统(源码+部署说明+系统介绍+数据库).zip

    部署说明:为了成功部署此系统,您需要遵循以下步骤:a. 安装Java开发环境(JDK)和Maven构建工具。b. 在本地或远程服务器上配置MySQL数据库,并创建相应的数据库表结构。c. 将下载的源码解压缩到合适的目录下。d. 在...

    studentlist:用于 crud 操作的简单 Web 应用程序

    这是一个简单的 Web 应用程序,用于执行创建、... 请按照以下步骤部署 Web 应用程序。 克隆 git 存储库或下载 zip。 如果需要,解压缩 zip 文件并使用 maven 构建项目( mvn clean install -Dmaven.test.skip=true )

    毕设新项目-基于pringboot实现的旅游网站源码+sql数据库+项目部署说明.zip

    毕设新项目-基于pringboot实现的旅游网站源码+sql数据库+项目部署说明.zip 将ssm技术切换为springboot,使用内置的tomcat即可运行项目。 管理系统 - url: http://localhost:8080/managerLoginPage - user: admin ...

    weixin042居住证申报系统+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    尽管要求不介绍安装步骤,但通常这类资源会包含一份部署说明文档,指导用户如何将系统部署到服务器上,包括环境配置、数据库设置、应用服务器部署等。 综上所述,这套系统是一个完整的居住证申报解决方案,涵盖了从...

    maven + spring boot + jdbc + mysql 定时器 的一个爬虫小程序 .zip

    如果您下载了本程序,但是该程序无法运行,或者您不会部署,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。...

    spring-poc:使用Spring Boot的kagazi应用程序的Web服务

    #安装步骤-在代码中配置了两个Maven配置文件-'dev'和'prod' #For开发人员构建-运行“ mvn clean install -Pdev” -运行“ mvn spring-boot:run -Pdev”以启动Spring Boot应用程序-使用url 访问API #For Prod Build...

    blog:个人博客Web应用程序

    个人博客 基于 2.7.0构建并部署在上的个人博客Web应用程序。 博客访问: : 先决条件Java 8 Maven的3 IDE:Eclipse,IntelliJ等(已通过Intellij IDEA 14.1测试)配置持久性在调试环境中,应用程序需要在类路径中有一...

Global site tag (gtag.js) - Google Analytics