您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 采用maven进行发布和版本管理
采用maven进行发布和版本管理采用maven代替ant进行发布,把全部代码按组件分为若干子项目,每个子项目单独进行版本发布。不再需要把lib文件每个子项目中复制了,也不容易出现构建路径出错造成的问题。严格按照svn和maven建议的方式管理版本。maven是什么?maven概览为什么用maven?本地仓库、私服、中央仓库maven生命周期三套独立的生命周期:CleanLifecycle在进行真正的构建之前进行一些清理工作。DefaultLifecycle构建的核心部分,编译,测试,打包,部署等等。SiteLifecycle生成项目报告,站点,发布站点。clean生命周期:pre-clean执行一些需要在clean之前完成的工作clean移除所有上一次构建生成的文件post-clean执行一些需要在clean之后立刻完成的工作default生命周期:validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess-resources复制并处理资源文件,至目标目录,准备打包。compile编译项目的源代码。process-classesgenerate-test-sourcesprocess-test-sourcesgenerate-test-resourcesprocess-test-resources复制并处理资源文件,至目标测试目录。test-compile编译测试源代码。process-test-classestest使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。prepare-packagepackage接受编译好的代码,打包成可发布的格式,如JAR。pre-integration-testintegration-testpost-integration-testverifyinstall将包安装至本地仓库,以让其它项目依赖。deploy将最终的包复制到远程的仓库,以让其它开发人员与项目共享。svn版本:trunkbanchestag的不同含义maven中jar包版本:snapshotrelease的含义maven插件了解插件体系、常用插件、插件与生命周期的关系。maven的具体使用1、安装maven2、修改maven设置3、安装eclipse的maven插件4、在tomcat安装热发布插件jrebel5、新建项目过程1、安装maven安装maven3安装最新的3.2.5版本,下载后,解压到例如:d:\java\apache-maven-3.2.5然后设置环境变量:新建一个系统变量:M2_HOME,路径即为解压后的安装路径,如:d:\java\apache-maven-3.2.5再配置path环境变量,在path值的末尾添加%M2_HOME%\bin打开cmd窗口:输入mvn-version,出现如下内容表示安装成功。2、安装eclipse的maven插件m2e-、修改maven设置更改maven本地仓库地址在D盘新建目录,例如:d:\java\maven,用作本地仓库(默认的在“我的文档”中,重装系统容易丢失)打开安装目录下,conf文件夹下的settings.xml文件,找到第localRepository一行,把注释去掉,修改成例如:localRepositoryd:\java\maven/localRepository再把setting.xml复制到本地仓库根下,如d:\java\maven添加server在settings.xml中,servers中添加:serverideap-release/idusernamedeployment/usernamepassworddeployment123/password/serverserverideap-SNAPSHOT/idusernamedeployment/usernamepassworddeployment123/password/server这是私服中正式版本和快照版本的用户和密码设置,使大家可以向私服发布版本修改eclipse的maven属性从“窗口-首选项-maven-installations”处,点击add,选择maven的安装目录;“窗口-首选项-maven-usersettings”处,选择自定义的settings.xml位置解出parent项目从svn解出eap2-parent项目,及需要的其它项目。eap2-parent是用于管理的父项目,所有EAP平台组件项目均继承该项目。在eap2-parent项目的pom.xml中添加属性tomcatPath,指向本机用于测试的tomcatpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding!--设置tomcat测试环境目录,请自行修改--user.tomcatPathE:/tomcat/webapps/ROOT/WEB-INF/user.tomcatPath!--设置tomcat测试环境中指定的企业ID--user.comIdabcd/user.comId/properties4、在tomcat安装热发布插件jrebel复制文件复制jrebel.jar和jrebel.lic到tomcat/lib目录下;在tomcat/web-inf/classes中添加rebel.xml,内容为:?xmlversion=1.0encoding=UTF-8?applicationxmlns:xsi====E:\tomcat\webapps\ROOT\WEB-INF\classes//classpath/application在catalina.bat添加参数:setJAVA_OPTS=-noverify-javaagent:E:/tomcat/lib/jrebel.jar5、新建项目过程新建“其它”项目选择maven项目下一步下一步,选择quickstart模板输入groudId为com.originsys,ArtifackId为你的组件名称,输入版本号生成的项目结构:其中:src/main/java是默认的源程序文件夹,删除其中自动创建的包com.originsys.eap2_myqpp,添加自己的包及程序;src/test/java是放junit的测试文件的,我们没有使用junit,这个目录可忽略;pom.xml是最重要的,需要以下修改:插入parent,eap2-parent/pom.xml中有公共的配置:parentgroupIdcom.originsys/groupIdartifactIdeap2-parent/artifactIdversion0.0.1-SNAPSHOT/versionrelativePath../eap2-parent/pom.xml/relativePath/parent加入后,重复的属性设置就不需要了,去掉groupIdurlproperties等标签。projectxmlns=:xsi=:schemaLocation=://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.originsys/groupIdartifactIdeap2-parent/artifactIdversion0.0.1-SNAPSHOT/versionrelativePath../eap2-parent/pom.xml/relativePath/parent[parent是干嘛的][maven是如何判读parent在或者是不在的呢???][maven继承???]artifactIdeap2-ysy/artifactIdpackagingjar/packagingnameeap2-ysy/namedependenciesdependencygroupIdjunit/groupId在dependencies中加入对eap-core-common的依赖,这个包中已配置了大多数公共jardependencygroupIdcom.originsys/groupIdartifactIdcore-common/artifactIdversion2.14.1-SNAPSHOT/version/dependency完成新建项目完成,查看MavenDependencies,可看到所有依赖的jar包都已引入。在项目中的src/main/jave源文件夹中建立包和编写程序即可。编译、发布到应用、发布到仓库自动编译:Maven项目同时也是eclipse项目,编写或修改java文件后可自动编译到target/classes中,如未能自动编译,打开cmd窗口,cd至workspace下的项目目录中,输入maven命令:mvn-Ueclipse:cleaneclipse:eclipse执行即可。编译:在pom.xml上点击右键,选择:运行方式-mavenbuild...,在弹出的窗口中输入执行目标(goals):cleancompile,运行即先清空target,然后对源代码全部编译到target/classes中。同时,复制插件也绑定在了compile生命周期中,执行compile同时,将会把全部依赖的jar包复制到tomcat应用的lib下,把eap2-parent中的classes(系统配置)复制到tomcat/发布到应用:用compile首次编译过后,日常修改后可执行:validate命令,发布到tomcat应用中。发布到仓库:用:cleandeploy命令,发布到公司组件仓库。提交到svn在eclipse中项目根目录中点击右键,从小组(team)菜单中点击“共享项目”,然后选择svn,并在选择已有的资源库位置中选择:svn://115.28.14.199,在使用指定的模块名中,例如组件名为myapp,则输入:eap2-myapp/trunk即创建一个新的组件项目,并放入主线目录中。共享完成后,再从team菜单中点击“提交”,提交到svn,提前前看一看是否存在不必要的文件,如.settings.xml、target、.project等,在svn配置忽略的资源中排除,只上传所有的源程序及pom.xml文件。6、使用maven开发过程parent/pom.xml的定义这是所有项目需要继承的父项目,其中定义了私服仓库地址,应用了复制文件的插件及安装依赖包的插件。有两个propertie需要根据自己的环境修改:user-tomc
本文标题:采用maven进行发布和版本管理
链接地址:https://www.777doc.com/doc-4009854 .html