Maven私服Archiva搭建和使用

一、环境准备

安装JDK

步骤略

二、安装Archiva服务器

从https://archiva.apache.org下载Archiva。
进入bin目录执行archiva start即可启动Archiva。
Nexus 默认的端口是8080,如果要更改端口可以修改conf/jetty文件。
启动Archiva会要求设置管理员账户admin的密码,我设置密码为admin123

三、Maven 和 Gradle 客户端配置

现在使用Maven和Gradle做构建工具都很普遍,下面分别说明两个工具的使用。

1、Maven配置

修改settings.xml 文件

Maven配置文件更改,修改/conf/settings.xml文件,可以参考下面的文件:



  
  
  
  
  
    
      archiva-releases
      admin
      admin123
    
    
      archiva-snapshots
      admin
      admin123
    
  
  
     
      archiva-releases 
      internal 
      http://localhost:8080/repository/internal 
    
     
      archiva-snapshots
      snapshots 
      http://localhost:8080/repository/snapshots 
    
  
  
    
      
        true
      
      
        
          internal
          Archiva Managed Internal Repository
          http://localhost:8080/repository/internal
          
            true
          
          
            false
          
        
        
          snapshots
          Archiva Managed Snapshots Repository
          http://localhost:8080/repository/snapshots
          
            false
          
          
            true
          
        
      
    
  

Maven项目的pom.xml配置



  4.0.0
  io.github.redexpress
  demo
  1.0
  
    UTF-8
    1.8
    1.8
  
  
    
        junit
        junit
        4.12
        test
    
  
  
      
          archiva-releases
          http://localhost:8080/repository/internal
          true
      
      
          archiva-snapshots
          http://localhost:8080/repository/snapshots
      
  

使用mvn deploy命令即可发布jar到Nexus 私服。

2、Gradle 配置

build.gradle

apply plugin: 'java'
apply plugin: 'maven-publish'

group = 'io.github.redexpress'
version = '1.0'

sourceCompatibility = 1.8
targetCompatibility = 1.8

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

repositories {
     maven { url "http://repo.maven.apache.org/maven2" }
     maven { url "http://localhost:8080/repository/internal" }
     maven { url "http://localhost:8080/repository/snapshots" }
}

publishing {
    repositories {
        maven {
            credentials {
                username 'admin'
                password 'admin123'
            }
            def releasesRepoUrl = 'http://localhost:8080/repository/internal'
            def snapshotsRepoUrl = 'http://localhost:8080/repository/snapshots'
            url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
        }
    }
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
}

dependencies {
    testCompile 'junit:junit:4.12'
}

settings.gradle

rootProject.name = 'demo'

相关文章

Maven私服Nexus搭建和使用

你可能感兴趣的:(Maven私服Archiva搭建和使用)