使用Archiva搭建Maven私有仓库

1.工具

  1. apache-archiva
  2. apache-tomcat
  3. apache-maven
    我所使用的版本是:
  4. archiva-2.2.0,war包版本
  5. tomcat-7.0.53
  6. maven-3.2.3

2. 安装tomcat

这里教程很多,而且不是本文的核心内容,所以略去不表。

3. Web Application方式安装Archiva

3.1. 部署到tomcat

  1. %CATALINA_HOME%目录下,新建archiva目录,然后将archiva的war包放入。
  2. %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>

    usernamepassworddirverClassNameurl换成自己环境中相对应的数据库的参数,另外要手动新建一个数据库archiva。mail如果有需要的话也自行修改,没需要的保持这个配置。

  3. 将以下四个jar包放到%CATALINA_HOME%/lib下:derby-10.1.3.1.jaractivation-1.1.jarmail-1.4.jar和DBS对应的Driver类的jar包。

  4. 配置Archiva需要的两个变量appserver.homeappserver.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)
  5. 重启tomcat

3.2 图形界面配置Archiva

  1. 访问urlhttp://host:port/archiva/,可以看到如下界面:
    Archiva主页
    图中红框位置,会有一个Create admin的图标,按照提示创建admin,然后登陆即可。
  2. 登陆后界面如图所示:
    Archiva管理界面
    其中,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>

usernamepassword改成你自己的设置的用户信息。

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一致。

猜你喜欢

转载自blog.csdn.net/yi_Afly/article/details/47687919