Jenkins+Maven+svn+Tomcat入门文档Word格式文档下载.docx
- 文档编号:20386408
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:71
- 大小:1.41MB
Jenkins+Maven+svn+Tomcat入门文档Word格式文档下载.docx
《Jenkins+Maven+svn+Tomcat入门文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Jenkins+Maven+svn+Tomcat入门文档Word格式文档下载.docx(71页珍藏版)》请在冰豆网上搜索。
2.8.1.本地仓库配置38
2.8.2.镜像配置38
2.8.3.服务用户配置38
2.8.4.私有settings.xml配置39
2.9.生成项目站点40
2.10.使用Cargo插件自动化部署web容器44
2.11.使用WebLogicMavenPlugin插件自动化部署weblogic46
2.12.maven和ant的比较49
2.13.maven常用命令49
3.Svn51
3.1.基本介绍51
3.2.安装51
3.2.1.下载地址51
3.2.2.安装步骤51
4.Jenkins53
4.1.基本介绍53
4.2.安装53
4.2.1.下载地址53
4.2.2.安装步骤53
4.3.Jenkins构建项目54
5.案例分析57
5.1.下载57
5.2.现有项目目录结构57
1.已部署环境地址
Jenkins:
http:
//192.168.0.23:
8099/jenkins/
Nexus:
8081/nexus/
站点Site:
18080/slide/
Svn:
svn:
//192.168.0.163/rss
2.Maven
2.1.基本介绍
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.
如果你已经有十次输入同样的Anttargets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方法。
Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。
Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页.
项目的主页地址为:
http:
//maven.apache.org/
2.2.安装
2.2.1.下载地址
官网http:
//maven.apache.org/download.html
本地SHH192.168.0.23/home/geosoft/soft
用户名root密码admins
2.2.2.安装步骤
解压apache-maven-3.0.3.zip到本地目录,下载maven的eclipse插件并安装
Eclipse添加插件
Eclipse插件地址:
//m2eclipse.sonatype.org/sites/m2e/0.10.0.20100209-0800/
装完插件重启eclipse就可以新建maven项目了
在环境变量里配置maven的安装目录
Windows用户如下
Linux用户需要使用export命令设置环境变量
2.2.3.初步使用
我们创建一个maven项目
点击next,到下一个界面这时候需要输入groupid,artifactId,Version,package
groupId
:
定义当前Maven项目隶属的实际项目。
首先,Maven项目和实际项目不一定是一对一的关系。
比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core,spring-context等。
这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。
其次,groupId不应该对应项目隶属的组织或公司。
原因很简单,一个组织下会有很多实际项目,如果groupId只定义到组织级别,而后面我们会看到,artifactId只能定义Maven项目(模块),那么实际项目这个层次将难以定义。
最后,groupId的表示方式与Java包名的表达方式类似,通常与域名反向一一对应。
artifactId:
该元素定义当前实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。
比如上例中的my-app。
version:
该元素定义Maven项目当前的版本
输入之后,点击next就完成项目的创建了
2.2.4.maven中项目的目录结构
2.2.4.1.标准目录结构
一般项目,如jar
编译后代码都集中在prjecto/target目录下
Web项目,如war
-main
bin脚本库
javajava源代码文件
resources资源库,会自动复制到classes目录里
filters资源过滤文件
assembly组件的描述配置(如何打包)
config配置文件
webappweb应用的目录。
WEB-INF、css、js等
-test
java单元测试java源代码文件
resources测试需要用的资源库
filters测试资源过滤库
-siteSite(一些文档)
target
LICENSE.txtProject’slicense
README.txtProject’sreadme工程根目录下就只有src和target两个目录target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。
target里的所有内容都是maven构建的时候生成的.
2.2.4.2.Maven项目的标准目录介绍
Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。
这样做也省去了很多设置的麻烦。
以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。
Maven推荐大家尽可能的遵守这样的目录结构。
src/main/java
Application/Librarysources
src/main/resources
Application/Libraryresources
src/main/filters
Resourcefilterfiles
src/main/assembly
Assemblydescriptors
src/main/config
Configurationfiles
src/main/webapps
Webapplicationsources
src/test/java
Testsources
src/test/resources
Testresources
src/test/filters
Testresourcefilterfiles
src/site
Site
LICENSE.txt
Project'
slicense
README.txt
sreadme
在顶级目录上是工程的描述文件pom.xml(如果使用Ant则还包括其他属性文件,maven.xml或build.xml),另外还包括提供给最终用户的文件,如,README.txt,LICENSE.txt等等。
顶级目录还包括两个子目录:
src,target。
顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。
Target目录是所有工程编译构建的输出目录。
Src目录包含所有工程的源码文件,配置文件,资源文件等等。
它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。
2.2.5.maven的坐标与依赖
2.2.5.1.坐标
1.为什么要定义Maven坐标
在我们开发Maven项目的时候,需要为其定义适当的坐标,这是Maven强制要求的。
在这个基础上,其他Maven项目才能应用该项目生成的构件。
2.Maven坐标详解
Maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的,它们是groupId,artifactId,version,packaging,class-sifer。
下面是一组坐标定义:
Xml代码
<
groupId>
com.maven.study<
/groupId>
<
artifactId>
study-dao<
/artifactId>
version>
0.0.1-SNAPSHOT<
/version>
packaging>
jar<
/packaging>
com.mycompany.app<
my-app<
下面讲解一下各个坐标元素:
packaging:
定义Maven项目打包的方式,首先,打包方式通常与所生成构件的文件扩展名对应,如上例中的packaging为jar,最终的文件名为my-app-0.0.1-SNAPSHOT.jar。
也可以打包成war,ear等。
当不定义packaging的时候,Maven会使用默认值jar
classifier:
该元素用来帮助定义构建输出的一些附件。
附属构件与主构件对应,如上例中的主构件为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.依赖
Ø
依赖配置
project>
...
dependencies>
dependency>
group-a<
artifact-a<
1.0<
exclusions>
exclusion>
group-c<
excluded-artifact<
/exclusion>
/exclusions>
/dependency>
artifact-b<
type>
bar<
/type>
scope>
runtime<
/scope>
/dependencies>
/project>
依赖配置如下:
Xml代码
1.<
2.
3.
junit<
4.
5.
3.8.1<
6.
test<
7.
8.
依赖会包含基本的groupId,artifactId,version等元素,根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或者多个依赖。
下面详细讲解每个依赖可以包含的元素:
groupId,artifactId和version:
依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖
type:
依赖的类型,对应于项目坐标定义的packaging。
大部分情况下,该元素不必声明,其默认值是jar
scope:
依赖的范围,下面会进行详解
optional:
标记依赖是否可选
exclusions:
用来排除传递性依赖,下面会进行详解
大部分依赖声明只包含基本坐标。
依赖范围
Maven在编译主代码的时候需要使用一套classpath,在编译和执行测试的时候会使用另一套classpath,实际运行项目的时候,又会使用一套classpath。
依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系,Maven有以下几种依赖范围:
compile:
编译依赖范围。
如果没有指定,就会默认使用该依赖范围。
使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。
test:
测试依赖范围。
使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。
典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。
provided:
已提供依赖范围。
使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效。
典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要Maven重复地引入一遍。
runtime:
运行时依赖范围。
使用此依赖范围的Maven依赖,对于测试和运行classpath有效,但在编译主代码时无效。
典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。
system:
系统依赖范围。
该依赖与三种classpath的关系,和provided依赖范围完全一致。
但是,使用system范围依赖时必须通过systemPath元素显式地指定依赖文件的路径。
由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。
systemPath元素可以引用环境变量,如:
javax.sql<
jdbc-stdext<
2.0<
systemPath>
${java.home}/lib/rt.jar<
/systemPath>
7.<
import(Maven2.0.9及以上):
导入依赖范围。
在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided。
如下:
javax.servlet.jsp<
jsp-api<
2.1<
provided<
classifier/>
scope参数值的说明:
--compile:
默认值。
表明是所有任务所需的资源
--test:
运行所有的测试用例时所需资源
--runtime:
表明是运行时所需资源
--provided:
JDK部分或应用服务器的classpath所需的资源
传递性依赖
下面我们看一个简单的项目,读者可从附件中下载源码
POM.xml配置如下:
project
xmlns="
//maven.apache.org/POM/4.0.0"
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
//maven.apache.org/POM/4.0.0
//maven.apache.org/xsd/maven-4.0.0.xsd"
>
modelVersion>
4.0.0<
/modelVersion>
my-app-simple<
9.
10.
name>
/name>
11.
url>
//maven.apache.org<
/url>
12.
13.
properties>
14.
project.build.sourceEncoding>
UTF-8<
/project.build.sourceEncoding>
15.
/properties>
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
org.springframework<
27.
spring-core<
28.
2.5.6<
29.
30.
31.<
projectxmlns="
xmlns:
xsi:
//maven.apache.org/POM/4.0.0http:
/project.b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Jenkins Maven svn Tomcat 入门 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)