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创库中的依赖。

发布了26 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/doinbb/article/details/101286148