1.工具
- apache-archiva
- apache-tomcat
- apache-maven
我所使用的版本是: - archiva-2.2.0,war包版本
- tomcat-7.0.53
- maven-3.2.3
2. 安装tomcat
这里教程很多,而且不是本文的核心内容,所以略去不表。
3. Web Application方式安装Archiva
3.1. 部署到tomcat
- 在
%CATALINA_HOME%
目录下,新建archiva
目录,然后将archiva的war包放入。 在
%CATALINA_HOME%/conf/Catalina/localhost
目录下,新建archiva.xml
文件,文件内容如下:<?xml version="1.0" encoding="UTF-8"?> <Context path="/archiva" docBase="${catalina.home}/archiva/apache-archiva-2.2.0.war"> <Resource name="jdbc/users" auth="Container" type="javax.sql.DataSource" username="archivauser" password="archivauserpassword" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://host:port/archiva" /> <Resource name="mail/Session" auth="Container" type="javax.mail.Session" mail.smtp.host="localhost"/> </Context>
username
、password
、dirverClassName
和url
换成自己环境中相对应的数据库的参数,另外要手动新建一个数据库archiva。mail如果有需要的话也自行修改,没需要的保持这个配置。将以下四个jar包放到
%CATALINA_HOME%/lib
下:derby-10.1.3.1.jar
、activation-1.1.jar
、mail-1.4.jar
和DBS对应的Driver类的jar包。配置Archiva需要的两个变量
appserver.home
和appserver.base
,配置方法如下(从官网拷贝):export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_HOME" (for UNIX) OR set CATALINA_OPTS="-Dappserver.home=%CATALINA_HOME% -Dappserver.base=%CATALINA_HOME%" (for Windows)
- 重启tomcat
3.2 图形界面配置Archiva
- 访问url
http://host:port/archiva/
,可以看到如下界面:
图中红框位置,会有一个Create admin
的图标,按照提示创建admin,然后登陆即可。 - 登陆后界面如图所示:
其中,Upload Artifact
可以从图形界面上传artifact;Repositories
可以管理所有的repo;Manager
可以管理所有用户的信息和访问权限。具体操作不是本文的核心,略去不表。
4. 配置本地Maven
安装好maven之后,要修改其配置文件settings.xml
。修改主要包括两部分:
1. 配置私有仓库信息。
2. 配置私有仓库的认证信息。
4.1 配置私有仓库信息
这里有两种方式,第一种是将私有仓库作为唯一的仓库使用(私有仓库作为远程仓库的代理使用);第二种是将私有仓库作为仓库列表中的一个使用。考虑到笔者所处的网络环境,所以选择了第二种方式 。
在<settings>
标签的<profiles>
下增加一个新的<profile>
:
<profile>
<id>MMC Repo</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>mmc.internal</id>
<url>http://host:port/archiva/repository/repoId/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
4.2 配置私有仓库的认证信息
认证信息就是你在仓库管理中设置的user,而在本地,需要在<servers>
标签下新增<server>
:
<server>
<id>mmc.internal</id>
<username>username</username>
<password>password</password>
</server>
username
和password
改成你自己的设置的用户信息。
5. 在Maven项目中配置上传artifact
pom.xml
中添加如下:
<distributionManagement>
<repository>
<id>mmc.internal</id>
<name>MMC Repo</name>
<url>http://host:port/archiva/repository/repoId/</url>
</repository>
</distributionManagement>
注意这里的id
要和<server>
中配置的id
一致。