ImageVerifierCode 换一换
格式:DOCX , 页数:71 ,大小:1.41MB ,
资源ID:7278949      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7278949.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Jenkins+Maven+svn+Tomcat入门文档.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Jenkins+Maven+svn+Tomcat入门文档.docx

1、Jenkins+Maven+svn+Tomcat入门文档 Jenkins+Maven+Tomcat构建项目创建日期:2016.04版本:1.01. 已部署环境地址 42. Maven 42.1. 基本介绍 42.2. 安装 42.2.1. 下载地址 42.2.2. 安装步骤 42.2.3. 初步使用 62.2.4. maven中项目的目录结构 82.2.5. maven的坐标与依赖 122.3. maven仓库 222.3.1. 什么是Maven仓库 222.3.2. 本地仓库 vs. 远程仓库 222.3.3. 在POM中配置远程仓库 242.3.4. 在settings.xml中配置远程仓

2、库 252.3.5. 镜像 262.3.6. 分发构件至远程仓库 272.3.7. 小结 282.4. maven的生命周期 282.5. maven插件的使用 292.5.1. 插件和生命周期的绑定 291.1. 配置插件 302.6. 聚合与继承 322.6.1. 聚合 322.6.2. 继承 332.7. 使用Nexus创建私服 342.7.1. 安装 Nexus 342.7.2. War 方式安装 352.7.3. 配置 中央仓库 352.8. maven settings.xml的配置 382.8.1. 本地仓库配置 382.8.2. 镜像配置 382.8.3. 服务用户配置 382

3、.8.4. 私有settings.xml配置 392.9. 生成项目站点 402.10. 使用Cargo插件自动化部署web容器 442.11. 使用WebLogic Maven Plugin插件自动化部署weblogic 462.12. maven和ant的比较 492.13. maven常用命令 493. Svn 513.1. 基本介绍 513.2. 安装 513.2.1. 下载地址 513.2.2. 安装步骤 514. Jenkins 534.1. 基本介绍 534.2. 安装 534.2.1. 下载地址 534.2.2. 安装步骤 534.3. Jenkins构建项目 545. 案例分

4、析 575.1. 下载 575.2. 现有项目目录结构 57 1. 已部署环境地址Jenkins: http:/192.168.0.23:8099/jenkins/Nexus: http:/192.168.0.23:8081/nexus/站点Site: http:/192.168.0.23:18080/slide/Svn: svn:/192.168.0.163/rss2. Maven2.1. 基本介绍Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生

5、成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页. 项目的主页地址为:http:/maven.apache.org/ 2.2. 安装2.2.1. 下载地址官网 http:/maven.apache.org/download.html本地SHH 192.168.0.23/home/geosoft/soft用户名root 密码admins2.2.2. 安装步骤解压apache-maven-3.0.3.zip到本地目录,下

6、载maven的eclipse插件 并安装Eclipse添加插件Eclipse插件地址: http:/m2eclipse.sonatype.org/sites/m2e/0.10.0.20100209-0800/装完插件重启eclipse就可以新建maven项目了在环境变量里配置maven的安装目录 Windows用户如下Linux用户需要使用export命令设置环境变量2.2.3. 初步使用我们创建一个maven项目 点击next,到下一个界面 这时候需要输入group id,artifact Id,Version,packagegroupId:定义当前Maven项目隶属的实际项目。首先,Mav

7、en项目和实际项目不一定是一对一的关系。比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core,spring-context等。这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。其次,groupId不应该对应项目隶属的组织或公司。原因很简单,一个组织下会有很多实际项目,如果groupId只定义到组织级别,而后面我们会看到,artifactId只能定义Maven项目(模块),那么实际项目这个层次将难以定义。最后,groupId的表示方式与Java包名的表达方式类似,通常与域名反向一一对应。artifactId : 该元素定

8、义当前实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。比如上例中的my-app。version : 该元素定义Maven项目当前的版本输入之后,点击next就完成项目的创建了2.2.4. maven中项目的目录结构2.2.4.1. 标准目录结构一般项目,如jar编译后代码都集中在prjecto/target目录下Web项目,如war编译后代码都集中在prjecto/target目录下-mainbin 脚本库java java源代码文件resources 资源库,会自动复制到classes目录里filters 资源过滤文件assembly 组件

9、的描述配置(如何打包)config 配置文件webapp web应用的目录。WEB-INF、css、js等-testjava 单元测试java源代码文件resources 测试需要用的资源库filters 测试资源过滤库-site Site(一些文档)targetLICENSE.txt Projects licenseREADME.txt Projects readme工程根目录下就只有src和target两个目录target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。 target里的所有内容都是maven构建的时候生成的.2.2.4.2. Maven项目的标

10、准目录介绍Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。Maven推荐大家尽可能的遵守这样的目录结构。src/main/javaApplication/Library sourcessrc/main/resourcesApplication/Library resourcessrc/main/filtersResource filter filessrc/main/assemblyAssembly descrip

11、torssrc/main/configConfiguration filessrc/main/webappsWeb application sourcessrc/test/javaTest sourcessrc/test/resourcesTest resourcessrc/test/filtersTest resource filter filessrc/siteSiteLICENSE.txtProjects licenseREADME.txtProjects readme在顶级目录上是工程的描述文件pom.xml(如果使用Ant则还包括其他属性文件,maven.xml或build.xml)

12、,另外还包括提供给最终用户的文件,如,README.txt, LICENSE.txt等等。顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。Target目录是所有工程编译构建的输出目录。Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。2.2.5. maven的坐标与依赖2.2.5.1. 坐标1.为什么要定义Maven坐标 在我们开发Maven项目的时候,需要为其定义适当的坐标,这是Mave

13、n强制要求的。在这个基础上,其他Maven项目才能应用该项目生成的构件。 2.Maven坐标详解 Maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的,它们是groupId,artifactId,version,packaging,class-sifer。下面是一组坐标定义: Xml代码com.maven.study study-dao 0.0.1-SNAPSHOT jarcom.mycompany.app my-app jar 0.0.1-SNAPSHOT下面讲解一下各个坐标元素:groupId:定义当前Maven项目隶属的实际项

14、目。首先,Maven项目和实际项目不一定是一对一的关系。比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core,spring-context等。这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。其次,groupId不应该对应项目隶属的组织或公司。原因很简单,一个组织下会有很多实际项目,如果groupId只定义到组织级别,而后面我们会看到,artifactId只能定义Maven项目(模块),那么实际项目这个层次将难以定义。最后,groupId的表示方式与Java包名的表达方式类似,通常与域名反向一一对应。artifactI

15、d : 该元素定义当前实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。比如上例中的my-app。version : 该元素定义Maven项目当前的版本packaging :定义Maven项目打包的方式,首先,打包方式通常与所生成构件的文件扩展名对应,如上例中的packaging为jar,最终的文件名为my-app-0.0.1-SNAPSHOT.jar。也可以打包成war, ear等。当不定义packaging的时候,Maven 会使用默认值jarclassifier: 该元素用来帮助定义构建输出的一些附件。附属构件与主构件对应,如上例中的主构

16、件为my-app-0.0.1-SNAPSHOT.jar,该项目可能还会通过一些插件生成如my-app-0.0.1-SNAPSHOT-javadoc.jar,my-app-0.0.1-SNAPSHOT-sources.jar,这样附属构件也就拥有了自己唯一的坐标我们项目中用到的jar包可以通过依赖的方式引入,构建项目的时候从Maven仓库下载即可。2.2.5.2. 依赖 依赖配置 . group-a artifact-a 1.0 group-c excluded-artifact group-a artifact-b 1.0 bar runtime 依赖配置如下:Xml代码 1. 2. 3. j

17、unit4. junit5. 3.8.16. test7. 8. junit junit 3.8.1 test 依赖会包含基本的groupId, artifactId,version等元素,根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或者多个依赖。下面详细讲解每个依赖可以包含的元素:groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖type: 依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,其默认值是ja

18、rscope: 依赖的范围,下面会进行详解optional: 标记依赖是否可选exclusions: 用来排除传递性依赖,下面会进行详解大部分依赖声明只包含基本坐标。 依赖范围Maven在编译主代码的时候需要使用一套classpath,在编译和执行测试的时候会使用另一套classpath,实际运行项目的时候,又会使用一套classpath。依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系,Maven有以下几种依赖范围:compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven

19、依赖,对于编译、测试、运行三种classpath都有效。test: 测试依赖范围。使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。provided: 已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效。典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要Maven重复地引入一遍。runtime: 运行时依赖范围。使用此依赖范围的Maven依赖,对

20、于测试和运行classpath有效,但在编译主代码时无效。典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。system: 系统依赖范围。该依赖与三种classpath的关系,和provided依赖范围完全一致。但是,使用system范围依赖时必须通过systemPath元素显式地指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。systemPath元素可以引用环境变量,如:Xml代码 1. 2. javax.sql3.

21、 jdbc-stdext4. 2.05. 6. $java.home/lib/rt.jar7. javax.sql jdbc-stdext 2.0 $java.home/lib/rt.jarimport(Maven 2.0.9及以上): 导入依赖范围。在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided。如下: javax.servlet.jsp jsp-api 2.1 provided scope参数值的说明:-compile:默认值。表明是所有任务所需的资源-test:运行所有的测试用例时所需资源-runtime:表明是运行时所需资源

22、-provided:JDK部分或应用服务器的classpath所需的资源 传递性依赖下面我们看一个简单的项目,读者可从附件中下载源码POM.xml配置如下:Xml代码 1. 3. 4.0.04. 5. com.mycompany.app6. my-app-simple7. 0.0.1-SNAPSHOT8. jar9. 10. my-app-simple11. http:/maven.apache.org12. 13. 14. UTF-815. 16. 17. 18. 19. junit20. junit21. 3.8.122. test23. 24. 25. 26. org.springframework27. spring-core28. 2.5.629. 30. 31. 4.0.0 com.mycompany.app my-app-simple 0.0.1-SNAPSHOT jar my-app-simple http:/maven.apache.org UTF-8/project.b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1