设置Maven组件库仓库Word格式文档下载.docx
- 文档编号:21594977
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:18
- 大小:231.71KB
设置Maven组件库仓库Word格式文档下载.docx
《设置Maven组件库仓库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《设置Maven组件库仓库Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
2.2具有团队内部远程仓库的开发环境
3.本教程Maven仓库的用例介绍
●在内部仓库中创建2个子库
●Ibiblio缓存‘Ibiblio-cache’——用于存储从ibiblio.org中下载的构件,可以公开访问,它将从外部的ibiblio仓库中同步
●内部仓库internal-maven-repository——用于存储团队内部的构件,它不与任何外部仓库同步,是团队专有的构件库
●可以创建另一个子仓库,这是可选的,用于存储那些公用的但是在ibiblio上暂时没有的构件,例如一些构件的新最版本,这个仓库不与内部仓库同步。
我们可以称它为第三方‘3rd-party’
●浏览远程库,最好是通过一个web浏览器
●在仓库中搜索构件
●从版本控制系统中下载代码,修改settings.xml指向内部仓库并且做一次没有任何手工干涉的clean构建
●向仓库中安装一个构件的新版本
●向仓库中大批导入构件
●从仓库中大批导出构件
●手动备份仓库,设置定时自动备份任务
4.Maven仓库工具的选择标准
理想的Maven仓库工具应该:
●开放源码并且免费
●提供管理工具
●提供仓库浏览器——最好是web浏览器而不是桌面应用程序
●可以部署到标准web服务器中——例如Apache或Tomcat
●创建、编辑、删除子库的能力
●批量导入/导出的工具,用来向构件库或从构件库移动构件
●访问控制工具和匿名只读访问
●安装和使用简单
●备份功能
●问题追踪,论坛或其他独立的信息来源
●活跃的社区/开发者,这样产品才能改进,bug才能修正
5.不同Maven仓库工具的比较
一些流行且免费的Maven仓库工具有:
●标准Maven代理codehaus——http:
//maven-proxy.codehaus.org/
●DeadsimpleMavenProxy(DSMP)-http:
//www.pdark.de/dsmp/
●Proximity-http:
//proximity.abstracthorizon.org/
●Artifactory-http:
//www.jfrog.org/sites/artifactory/latest/
下面列出了一个比较:
codehaus
DSMP
Proximity
Artifactory
管理工具
否
基本
是
构件库浏览器
部署到标准Web服务器
是,但不可配置
是(与Jetty绑定,支持Tomcat)
子库管理
批量导入/导出构件
安装使用简单
是(从代码构建)
是(AJAX界面)
备份功能
是(使用quartz和cron表达式)
问题追踪
JIRA,IRC
WikiissuesTracker
JiraissuesTracker(良好的在线文档)
研究过以上所有产品之后得出结论,Artifactory拥有我们要的所有标准。
Proximity看样子也有许多我们要的特性,我们将着眼于Artifactory的使用。
关于Artifactory的其他方面:
●符合我们的需求
●Apache2.0许可
●运行于JDK1.6和Tomcat6。
Artifactory以‘war’文件形式部署到Tomcat
●使用Derby数据库来存储构件,数据以一个已发布的知名的格式存储
●所有构件可以被批量导出到本地库然后导入到其他库,因而易于将构件从一个仓库工具移到另一个,它也使得Maven库的升级非常容易
●兼容JavaContentRepository标准(JSR-170)。
●使用Lucene作为搜索引擎,仓库可以被索引和重新索引
●Ajax界面
●易于定制界面
●使用JIRA作为问题追踪系统
6.设置Maven仓库
6.1软件需求
●Artifactory——从http:
//www.jfrog.org/sites/artifactory/latest/下载和安装,当前最新版本是1.2.1-rc1,Artifactory是一个可以被安装到Tomcat中去的Web应用程序
●JDK1.6–更多信息请参阅http:
//www.jfrog.org/sites/artifactory/latest/install.html
●Tomcat6
6.2目录结构
下载和解压artifactory。
目录结构如下:
这些目录是:
●backup——仓库的备份,可以使用cron表达式设置备份策略,quartz定时调度程序在指定的时间里运行备份任务,备份时间间隔在‘ARTIFACTORY_INSTALLATION_FOLDER>
/etc/artifactory.config.xml’文件中指定
●bin——内置jetty服务器的运行批处理文件
●data——包含derby数据库文件,如果你想以一个空的构件库开始,可以删除这个目录中的所有内容,在全新的artifactory安装中,这个目录是空的。
●etc——artifactory的配置文件,有‘artifactory.config.xml’、‘jetty.xml‘和‘log4j.,properties’
●lib——包含所有依赖的jar文件
●logs——日志文件
●webapps——包含war文件,它可以被拷贝到Tomcat中安装。
6.2在Tomcat6中部署
部署‘<
ARTIFACTORY_INSTALLATION_FOLDER>
/webapp’目录中的war文件到‘<
TOMCAT_INSTALLATION_FOLDER>
/webapps’目录中,在jdk1.6和Tomcat6环境下不需要改变tomcat的配置,Tomcat6会检测并部署它。
当这个Web应用程序被部署的时候,需要这些信息:
●保存构件的数据库的位置
●artifactory的xml配置文件的位置
●备份目录的位置
可以在一个配置文件中指定所有3个信息,在Tomcat启动期间我们只需要指定artifactory的安装目录,artifactory会计算出其余的信息。
可选的方法是使用jdbc设置好derby数据库的连接并且在Web应用程序中配置好artifactory(通过在Web应用程序中包含artifactory.config.xml文件)。
不管怎样,这个方法是简单的。
artifactory安装目录的位置可以被设置为一个环境变量,在Linux中,用‘.bash’来输出artifactory安装目录的位置的脚本是:
exportJAVA_OPTS=-Dartifactory.home=/home/amangat/artifactory-1.2.1-rc1
在Windows中,可以添加到Tomcat启动选项中:
6.3设置Maven仓库
建议的方法是在我们的Maven仓库中创建3个库(或子库),它们是:
●内部私有仓库private-internal-repository:
这个仓库包含仅在团队内使用的构件,它们由开发者手动上传,这个仓库不与ibiblio中的远程仓库同步,因为这个仓库(或子仓库)中的构件是团队私有的。
●第三方库3rd-party:
这个仓库包含公有的但不在ibiblio服务器上的构件,例如,最新版本的尚不在ibiblio的组件或jdbc驱动。
这个仓库不与ibiblio同步,因为ibiblio没有这些jar。
●Ibiblio缓存Ibiblio-cache:
这个仓库与ibiblio仓库同步,它是ibiblio上的构件的缓存。
设置这三个仓库,需要修改<
/etc/artifactory.config.xml’中的配置:
<
configxmlns:
xsi="
http:
//www.w3.org/2001/XMLSchema-instance"
xmlns="
//artifactory.jfrog.org/xsd/1.0.0"
xsi:
schemaLocation="
//artifactory.jfrog.org/xsd/1.0.0
http:
//www.jfrog.org/xsd/artifactory-v1_0_0.xsd"
>
<
!
--Backupevery12hours-->
--<
backupCronExp>
00/12**?
/backupCronExp>
-->
localRepositories>
localRepository>
key>
private-internal-repository<
/key>
description>
Privateinternalrepository<
/description>
handleReleases>
true<
/handleReleases>
handleSnapshots>
/handleSnapshots>
/localRepository>
3rd-party<
3rdpartyjarsaddedmanually<
false<
/localRepositories>
remoteRepositories>
remoteRepository>
ibiblio<
excludesPattern>
org/artifactory/**,org/jfrog/**<
/excludesPattern>
url>
//repo1.maven.org/maven2<
/url>
/remoteRepository>
/remoteRepositories>
/config>
启动Tomcat并且输入http:
//localhost:
8080/artifactor
下面是artifactory的首页面:
以用户名admin和密码password登录,点击浏览仓库的链接,你可以查看仓库的内容。
7.配置Maven以使用新的仓库
7.1配置Maven的settings.xml文件
Maven使用位于‘~/.m2/settings.xml’目录的settings.xml文件来获取Maven仓库,如果没有在该文件中指定仓库,Maven默认使用ibiblio.org上的仓库,settings.xml文件必须被修改以使用新的仓库:
profiles>
profile>
id>
dev<
/id>
properties>
tomcat5x.home>
C:
/InstalledPrograms/apache-tomcat-5.5.20<
/tomcat5x.home>
/properties>
repositories>
repository>
central<
8080/artifactory/repo<
snapshots>
enabled>
/enabled>
/snapshots>
/repository>
snapshots<
releases>
/releases>
/repositories>
pluginRepositories>
pluginRepository>
/pluginRepository>
/pluginRepositories>
/profile>
/profiles>
7.2使用pom.xml配置Maven
也可以在项目的pom.xml文件中设置仓库,下面是pom.xml范例文件:
projectxmlns="
//maven.apache.org/POM/4.0.0"
xmlns:
xsi:
//maven.apache.org/POM/4.0.0
//maven.apache.org/maven-v4_0_0.xsd"
modelVersion>
4.0.0<
/modelVersion>
groupId>
test<
/groupId>
artifactId>
/artifactId>
packaging>
jar<
/packaging>
version>
1.0-SNAPSHOT<
/version>
name>
/name>
//maven.apache.org<
dependencies>
dependency>
junit<
3.8.1<
scope>
/scope>
/dependency>
/dependencies>
/project>
7.3使用Maven构件仓库构建项目
在构建Maven项目的时候,所有的构件库都会从新的仓库下载,控件台会显示下载的过程:
用浏览器登录到新的构件仓库,你会发现artifactory已经下载并缓存了ibiblio上的构件。
7.4安装构件到构件仓库
可以通过Web界面或Maven命令行安装构件,通过Web界面来安装更简单更快,并且不需要修改任何配置。
通过命令行安装需要修改settings.xml配置文件,可以在其他脚本中使用。
7.4.1通过Web界面安装构件
安装步骤如下:
1.上传要部署的构件(‘jar’文件或‘pom’文件)
2.如果你上传的是jar文件,Artifactory会为它创建pom文件。
上传的时候你可以指定上传到哪个仓库。
3.上传完后,上传的构件与artifactory自动创建的pom文件一起在仓库中出现。
7.4.1能过Maven命令行安装构件
当用‘mvncleaninstall’命令的时候,Maven仅仅打包和安装构件到本地仓库,要把它安装到APH内部仓库中,我们必须在settings.xml中添加一条额外的配置:
settings>
servers>
server>
organisation-internal<
username>
admin<
/username>
password>
password<
/password>
/server>
/servers>
/settings>
安装构件到内部Maven仓库的命令是:
mvndeploy:
deploy-file-DrepositoryId=organisation-internal-Durl=http:
8080/artifactory/private-internal-repository
-DgroupId=test-DartifactId=test-Dversion=1.1-Dpackaging=jar-Dfile=target/test-1.1.jar
repositoryId必须与settings.xml中定义的服务器ID相匹配,url必须包含构件将要被安装到的仓库的名称。
新的构件会在仓库中出现,并且artifactory会自动为我们创建pom文件。
8.Artifactory的其他特性
8.1备份构件仓库
备份策略在<
/etc/artifactory.config.xml中指定,使用cron表达式来指定定时备份任务,配置备份任务的元素在下面的代码清单中用高亮显示出来了
localRep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设置 Maven 组件 仓库
