Apache Archiva搭建Maven私人服务器
目前常用的搭建 Maven 私服的服务器有3种:Apache Archiva、JFrog 的 Artifactory 和 Sonatype 的 Nexus。
这里使用的Apache Archiva 服务器,
Apache Archiva 服务器的搭建步骤如下:
1. 下载 Archiva安装包
官方下载: http://archiva.apache.org/download.cgi
有三种内容下载:一个是 tar.gz 包;另一个是 war 包;还有一个是 source 源代码。这里下载的是 tar.gz 包:apache-archiva-2.2.1-bin.tar.gz。该版本里面包含自己的 Web 服务器,直接解压,作为独立 Web 服务器启动。
2. 安装archiva服务器
使用命令 tar -zxvf java.tar.gz -C /usr/local/java
解压到指定的文件夹.
进入配置目录,修改端口 (8000默认)
vi /usr/local/java/archiva/conf/jetty.xml
3. 启动服务器
进入
cd /usr/local/java/archiva/bin
目录,
执行启动命令:./archiva start
停止命令:./archiva stop
访问启动成功的archiva,访问maven服务器地址: http://ip:8000
看到首页, 即为启动成功.
4. 将 archiva 在 CentOS 中安装成服务
在 Linux环境下,archiva 安装目录下的 bin/archiva 是直接启动的,你可以为你的 CentOS 创建一个启动 link 到这个文件中, 然后可以在Linux任何地方启动它。
创建链接的命令为(root用户执行):
ln -sf /usr/local/java/archiva/bin/archiva /etc/init.d/archiva
然后你就可以通过
service archiva start
service archiva stop
启动和停止archiva服务。
如果安装成服务失败, 那么使用绝对路径控制启动/停止
/usr/local/java/archiva/bin/archiva start
/usr/local/java/archiva/bin/archiva stop
5. 上传私有jar包
如图所示:
上传依赖地址:
http://host:port/#upload
Repository Id选择internal则是把依赖作为正式版.
Repository Id选择snapshots则是把依赖作为快照版.
上传成功后可查询对应的版本的jar依赖:
正式版本查看:
http://host:port/repository/internal
快照版本查看:
http://host:port/repository/snapshots
如上传成功后, 查看我的正式版本的依赖.
6. Maven配置文件setting.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>\Common\my_repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>archiva-releases</id>
<username>admin</username>
<password>HEALTH456</password>
</server>
<server>
<id>archiva-snapshots</id>
<username>admin</username>
<password>HEALTH456</password>
</server>
</servers>
<mirrors>
<!--阿里云镜像地址-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 私服地址 start -->
<mirror>
<id>archiva-releases</id>
<mirrorOf>internal</mirrorOf>
<url>http://ip:8000/repository/internal</url>
</mirror>
<mirror>
<id>archiva-snapshots</id>
<mirrorOf>snapshots</mirrorOf>
<url>http://ip:8000/repository/snapshots</url>
</mirror>
</mirrors>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://ip:8000/repository/internal</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<name>Archiva Managed Snapshots Repository</name>
<url>http://ip:8000/repository/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<!-- 私服地址END -->
</settings>
setting.xml文件配置好之后, 接着配置工程中的pom.xml依赖.
7. 配置项目工程的pom.xml文件
引用自己上传的依赖
例如:
那么pom.xml工程中的引用, 如下:
<dependency>
<groupId>com.oxca</groupId>
<artifactId>SADK</artifactId>
<version>1.0.0</version>
</dependency>
配置完成后,本地maven构建项目的时候, 就能读取到自己上传到archiva私有maven创库中的依赖。