archiva的安装

本文首先要感谢jansel:竹林风,在百忙中解答了我一些问题。
现在将我整理的资料放到网上,希望能给大家起到一个答疑的目的,由于是初学者,所以有可能在一些地方理解的不对,而且操作的方式有可能也有问题,如果有大牛发现,欢迎并谢谢您能指证。再次谢谢那些具有open 精神的程序员们!!!

附件是我用到的settings.xml,以及测试用的pom.xml以及jar文件,希望能帮你有个参照

顺便再鄙视一下,javaeye不能使用window live writer。
首先去官网:http://archiva.apache.org/下载最新的Release,目前2010年1月20日发布了一个稳定的1.3版本。

下载地址为:http://archiva.apache.org/download.html,选择Archiva 1.3 Standalone进行下载。

下载完成后,将文件解压到本地的硬盘上,修改为了便于管理与记忆将文件夹的名称为archiva(默认的文件夹名为:apache-archiva-1.3)。

这里我只是在window的环境下进行安装(可以运行的操作系统有:Linux,Mac ,Solaris ),安装前要保证jdk是否安装,maven是否安装(这个主要用来测试archiva是否安装成功),他俩的环境变量是否已配置。(环境变量的配置很简单,就是把他俩bin目录加到环境变量的path里即可。例如jdk为:C:\Program Files\Java\jdk1.5.0_09\bin,maven为:D:\apache-maven-2.2.1\bin)

安装步骤
1.在运行里启动cmd,然后进入archiva\bin的目录。

2.输入命令:【archiva install】进行安装。会自动提示安装完成。

3.然后输入:archiva start 来启动archiva。

4.在浏览器中输入http://localhost:8080/archiva来进入控制台。初次登陆需要设置管理员的密码。这个时候会有一个java的Applet的签名确认,这里需要你点击永远信任(具体的单词忘了是哪个了,所以有可能不是这个词,但是大概意思是这个,所以这里就用永远信任来代替)。

5.然后修改:C:\Documents and Settings\user(注:这里指的是你window的用户)\.m2\settings.xml中的

<localRepository>D:\archiva\data\repositories\internal\</localRepository> 


设置这个的目的是:

因为archiva的仓库建立在${archiva.home}\data\repositories\internal目录下,所以在setting.xml中指定localRepository时,就可以直接指向该目录,可以节省空间。当然,如果archiva的服务不在本地时,Maven还是需要指定一个存放仓库的目录。

测试
在D盘下新建一个文件夹,然后拷贝附件中的pom.xml文件。例如D:/test/pom.xml

在这个pom.xml文件夹中,我设置了一些依赖的jar,如果archiva安装成功的话,会自动从网络下载jar包到:D:\archiva\data\repositories\internal\。

启动cmd,进入D:/test/文件夹,然后输入命令:mvn dependency:resolve,接下来就会下载jar包了。

常见问题
没有安装jdk,或者maven。

远程怎么连接archiva
1.仅仅是使用的方式:这种方式是通过maven的镜像,将archiva作为maven的一个镜像repository。但是这样做只能从archiva下载jar文件,但是不能上传jar。

现在maven的私服已经建好了(一般我们把archiva叫做maven的私服),那么我们怎么才能从这个私服上下载所需要的jar呢?

其实也很简单,打开你本地的setting,设置一个镜像,该镜像指向到archiva服务器(一定要在<mirrors>这个标签中,输入一下的代码)

<mirror>

<id>archiva.default</id>

<mirrorOf>central</mirrorOf>

<name>archiva.mirror</name>

<url>http://192.168.1.122:8888/archiva/repository/internal</url>



然后你再运行maven后,就会去archiva上下载jar了。

2.可以上传jar的方式:这种方式需要在archiva增加一个拥有Repository Manager的权限的用户。

在settings.xml中增加这个用户(以下的代码必须要在<servers>标签中)

<server>

<id>internal</id>

<username>admin</username>

<password>1q2w3e4r5t</password>

</server>



怎么测试你配置的是否正确呢?team worker现在能上传jar文件了么?

本例中我这了一个ant-1.6.5.jar为例子,从资源库找到ant-1.6.5.jar以及他的ant-1.6.5.pom两个文件,我将他拷入到D:/test下,然后我进入cmd,进入到test文件夹,然后输入:

mvn deploy:deploy-file -Dfile=ant-1.6.5.jar -DpomFile=ant-1.6.5.pom -DrepositoryId=internal -Durl=http://192.168.1.122:8888/archiva/repository/internal/

关于这个命令的配置说明请见:http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html

在这个网址中,对于这个命令有详细的说明。



注:其实你也可以通过archiva直接添加jar,你只需登陆archiva的页面,并且拥有Repository Manager的角色权限,你可以在左侧的导航菜单中,选择upload Artifact,通过UI来上传jar文件。

小结
因为在settings.xml中设置的本地库为archiva的中央仓储库,所以通过maven获取jar包的时候,maven会去archiva的中央仓储库中下载所需要的jar文件,如果archiva的中央仓储库中没有所需要的jar包,那么archiva会自动通过网络将所需要的jar包下载下来。

猜你喜欢

转载自hi31sunny.iteye.com/blog/586942