为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

使用maven管理web应用

2020-03-08 18页 doc 59KB 5阅读

用户头像

is_083599

暂无简介

举报
使用maven管理web应用 三 使用maven管理web应用 (仅供内部使用) 版 本 号: V0.1 保 密 等 级: ■秘密 □机密 □绝密   编 制: 杨光 审 核:         修订记录 日期 版本号 描述 作者 2011-12-14 0.1 初稿完成 杨光                                                               ...
使用maven管理web应用
三 使用maven管理web应用 (仅供内部使用) 版 本 号: V0.1 保 密 等 级: ■秘密 □机密 □绝密   编 制: 杨光 审 核:         修订记录 日期 版本号 描述 作者 2011-12-14 0.1 初稿完成 杨光                                                                                                 第一章Maven环境搭建    2 1.1    物质准备:    2 1.2    Jdk的安装、配置及测试    2 1.3    Maven环境搭建及测试    3 1.4    M2e的搭建    5 第二章 项目与构建    7 2.1 Maven管理项目的优点    7 2.2 Maven项目构建实现    7 2.3新建pom工程的子工程    8 2.4 Maven项目依赖添加    9 2.5 Maven打包运行    12 第三章 解决过程    13 第四章 解决结果    13 第五章 总结    13 关键词: maven、gongan-common、图综平台 摘  要: 结合多位师兄使用配置maven的文档资料已经网络资源,在黄春华大哥的帮助下,我利用maven-eclipse成功的将图综平台2.0版划分成2个基础工具jar包、9个业务功能jar包和一个web应用war包。在整个拆分过程中,遇到了很多问题。任务刚刚结束,趁着热乎劲,我想把整个过程写下来,留给兄弟们特别是没有接触maven而又急于使用的兄弟们(因为一开始,我也没接触过)做个参考,希望对大家伙有一定的帮助。 第一章Maven环境搭建 1.1 物质准备: Jdk5.0以上安装文件、eclipse、apache-maven-3.0.3-bin.zip、m2eclipse.zip 1.2 Jdk的安装、配置及测试 1 确认安装文件为5.0以上版本,因为maven采用的java环境是1.5,所以,提供jdk也必须在这个版本以上。 2 需要安装jdk,因为在jre环境下,maven,具体点就是m2e插件会出现很多专治程序员的尴尬bug。 3 Jdk的安装目录不要出现汉字和空格,否则后果一样令相关人士头痛。 结合以上要求开始安装: 双击安装文件一步一步直到安装完毕,注意要修改jdk以及jre的安装目录。 安装完毕后要进行环境变量设置。 鼠标放在“我的电脑”上右键点击“属性”,在弹出的窗口中选择“高级”栏目页,点击“环境变量”: 在系统变量栏里添加变量: 变量名:JAVA_HOME      变量值:C:\Java\jdk1.6.0_11 变量名:classpath          变量值:.;%JAVA_HOME%\lib 修改系统变量栏里的变量: 变量名:Path              变量值追加:;%JAVA_HOME%\bin 应用确定退出窗口,此时java的环境变量已经配置完毕。 Java安装配置测试: 运行“cmd”命令,输入java、java –version等命令,出现java的相关信息,说明jdk已经安装配置测试完毕。以上是针对初入java的童鞋们编写的文档。 1.3 Maven环境搭建及测试 从官网上下载apache-maven-3.0.3-bin.zip,将该压缩文件解压。(我将该压缩文件解压至F:\testMaven) 这个目录就是maven的安装目录。 配置maven: 打开环境变量配置窗口,如java环境配置。 Maven在环境中,行家们名其曰:M2,故在系统环境变量栏中添加: 变量名:M2_HOME    变量值:F:\testMaven\maven-3.0.3 然后修改环境变量Path: 变量名:Path          变量值追加:;%M2_HOME%\bin 应用确定退出窗口,此时maven的环境变量已经配置完毕。 运行“cmd”命令,输入mvn –version等命令,出现java的相关信息(如下图),说明maven已经配置测试完毕。 配置settings.xml文件。 介绍两点: 1.本地maven repository的路径配置;2.连网代理配置 本地路径配置:修改该配置,可以调整本地库位置。 D:/maven_repository/.m2/repository 连网配置:修改该配置,可使m2e在编译时遇到未下载的jar包时,能够连网下载 my-proxy true http 172.16.0.100 808 yangguang yangguang repository.mycom.com|*.google.com 1.4 M2e的搭建 将m2eclipse.zip和mylyn.zip拷贝到本机,并解压,将文件放入eclipse的相应的目录下,eclipse已有的文件不要覆盖。启动eclipse,并对其配置。 介绍以下几点: 1. 取消maven repository index update 2. 修改使用的maven环境 3. 选择maven的配置文件,settings.xml,确定本地库位置 4. 修改java环境 配置步骤: 打开eclipse—》window—》Perferences—》Maven,取消勾选Download repository index updates on startup 点开Maven下Insallation,在Select the installation used to launch maven列中,点击add,选择环境maven的根目录,点击确定。 点开Maven下的User settings,选择setting.xml文件所在位置,打开看看配置是否正确,点击Update Settings。 由于eclipse的java编译环境大部分都是jre,maven编译打包需要jdk所以修改一下jre安装路径,让其指向jdk安装目录。Java—》Installed JREs,选中Installed JREs列表中的jre,并将其修改为指向jdk安装目录的jdk。 您还可以配置一下工作空间的其他配置信息,例如编码等其他环境。 到此,用于分解web工程的java、maven环境都已经搭建完成。 第二章 项目分析与构建 2.1 Maven管理项目的优点 Maven2 的基本原理很简单,采用远程仓库和本地仓库以及 pom(project object model).xml ,将 pom.xml 中定义的 jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar ,同一个版本的 jar 只需下载一次,而且避免每个应用都去拷贝 jar 。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以在执行 maven 任务时,才会自动下载需要的插件。这个特性也为客户系统的升级带来的很大的方便,客户每次升级的时候可以使用maven的远程部署功能自动下载最新的系统组件(jar),并重新打包部署,很大程度的减少的系统升级的工作量。 我们在项目中结合maven的进行开发的主要思路: 1.建立支持Maven2的开发框架,框架中结合了一些项目功能和工具类,并且此框架本身是一个eclipse工程,支持使用eclipse IDE的开发,并通过SVN可进行团队协作。 2.在Maven2的pom.xml中制定开发框架的依赖包,并建立依赖包的团队管理本地服务器,使团队中的包依赖得到统一管理。 3.每日下班后,在构建服务器上每日从SVN上下载各个团队开发人员的代码,统一进行集成构建和测试。由于是每日构建,所以发现的bug可及时反馈给开发人员进行修正,避免了一般开发过程中的bug长时间遗留的情况。 Maven项目构建规划 Maven工程一般分成五个层次进行分解j2ee工程,和web开发分层类似: Utill:工具包,不包含任何业务逻辑,仅仅是对上层的算法处理作辅助 Entity:实体javaBean包,用于项目实体构建 Dao:数据库连接对象包(web的持久层),理论上不包含业务逻辑 Manager:业务逻辑包,该部分包括业务处理接口层、处理接口实现层和页面封装对象(vo层) Web:包括页面(web的view层面)部分和请求接口(Controller,web的控制层面)部分 2.2 Maven项目构建实现 根据规划对maven各层次包的用途理解,对原应用项目进行初步划分: 整理包与包之间的类依赖:调换不合理的依赖关系,防止双向依赖 整理包中类功能:按照上述要求整理包中的类,按照类的功能,将类放入合理的位置 新建一个maven的pom工程 该pom工程没有任何java代码,仅仅是有一个pom.xml。该maven工程主要是负责对分包后的各层工程进行引导协调,例如要对其中的所有工程进行打包,那么该pom工程会按照这些工程的依赖关系进行依次处理。可以说该pom工程是其他工程的父maven工程。为了理解这个概念,我引入一个小例子:某供电所对小李村进行供电,小李村并不用电,用电的是小李村里的各个家庭或企业,那么,供电所要对每个家庭进行停电操作,它仅仅对小李村发出停电指令,而不是对每个家庭进行停电。这里的村就是maven的pom工程,它不包含任何代码,maven要对整个项目进行操作时,仅仅操作该pom工程即可,该pom的子工程会全部依次进行处理。 4.0.0 com.kedacom.gongan gongan-pvas 2.0.0 pom pvas 2.3新建pom工程的子工程 右键刚才建的pom工程,添加子工程模块,如下图: 建完子项目后,您会发现在pom工程的pom.xml中出现: gongan-util 每加一个子maven模块,就会在这里加一个module。而在子模块的pom.xml中也会有相应的描述: gongan-pvas com.kedacom.gongan 2.0.0 在maven的应用中一共包括 src/main/java src/main/resources src/test/java src/test/resources src target pom.xml 将该工程中的java代码放入src/main/java中,将配置文件放在resources中,将测试用的java和配置文件分别放入src/test/java 、src/test/resources 中。 2.4 Maven项目依赖添加 在一开始讲的maven环境中,包括一项本地库的构建。所谓的本地库,就是指maven依赖的jar控制库,在这里,maven会将jar放到不同的目录下。还是maven的老原则就是四点确定唯一:artifactId、groupId、version、packaging。当maven在这里找不到的时候就会自动到网上去下载。 如果你需要的jar是自己打的包,本地可以通过mvn命令进行上传至本地库,为maven提供依赖。运行命令: mvn install:install-file -Dfile=*.jar -DgroupId=* -DartifactId=* -Dversion=* -Dpackaging=* 注意各参数前有空格,字符为半角。 为maven工程添加依赖是通过pom.xml来完成的,你可以直接将依赖的信息添加到pom.xml中的依赖集合中,如: axis axis 1.4 如果您对该jar包的信息了解有限,则用m2也可以添加,如图: 这时,它会根据您的要求在本地库搜索,如果本地库没有,它会自动根据网上中心库的索引进行搜索,如果确定合适的,它会自动将jar包下载到本地中心库,并添加到maven工程的依赖集合中。 所有的依赖查询包括两部分:本地库依赖和中心库索引在eclipse中也可以查看相应信息: 打开Maven repositories视图: 这里主要是Local Repository和central,这两个库是您搜索的主阵地,新空间里他俩是空的,需要rebuilt一下。 启动Maven服务的jetty容器 在刚分好的maven项目中可以包括一个或多个war包,那么如何启动并测试呢?用jetty! 在war模块的src/test/resources中添加jetty_env.xml文件,功能你懂的,如下: jdbc/gongan oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@172.16.251.180:1521:ORCL pvas21 123456 然后在war的pom中注册该插件: org.mortbay.jetty maven-jetty-plugin 10            src/test/resources/jetty_env.xml 用maven配置服务的字符集: org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.6 1.6 UTF-8 2.5 Maven打包运行 Maven的命令很多,但能用的也就那几个,其中最常用的是clean 和install。 一个事清除,清除掉target目录及以下目录和文件,也就是把install的产物给完全清理掉,而install则与其相反,在打包过程中会有很多奇怪的千年老bug,专整初学者。如果你遇到相同的问题,咱们私下研究(因为问题五花八门)。 Maven项目运行 利用jetty插件作为服务容器,那么也要使用jetty进行启动:jetty:run ,记得不要少了中间的冒号。 第三章 解决过程 搭建环境准备——》分析分层——》处理依赖并运行测试 第四章 解决结果 尝试就有解决问题的机会 第五章 总结 在实际的Web应用中,使用maven进行版本控制,方便打包和依赖控制,无需编写复杂的ant命令。
/
本文档为【使用maven管理web应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索