搭建Maven仓库记录

参考 http://www.cnblogs.com/whoislcj/p/6490120.html

步骤

第一步肯定是下载软件了 ,下载地址,进入到网页之后,见下图:

下载

紧着解压,nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\windows-x86-64\

点击红圈

点击红圈的程序,然后就是一顿 黑白,稍微耐心等2分钟左右吧!

Paste_Image.png

结束之后,就可以在浏览器输入http://127.0.0.1:8081/nexus/

Paste_Image.png

紧接着,根据上图 红框所示,开始创建宿主仓库,然后要填信息,见图(红框框都是填自己的),填完后保存

Paste_Image.png

创建完之后,就准备开始上传的事情了。

使用Aandroid Studio 新建一个Test项目,再创建一个module。
拷贝一下代码过去,配置maven 地址(在根.gradle文件下面添加一句代码)

allprojects {
    repositories {
        jcenter()
        maven{
            url 'http://localhost:8081/nexus/content/repositories/releases/'
        }
    }
}

在根目录的 gradle.properties文件,添加如下代码

#Maven仓库的URL
MAVEN_REPO_RELEASE_URL=http://localhost:8081/nexus/content/repositories/releases/
MAVEN_REPO_SNAPSHOT_URL=http://localhost:8081/nexus/content/repositories/snapshots/

#对应maven的GroupId的值
GROUP = com.xxx
#登录nexus ossde的用户名

NEXUS_USERNAME=admin
#登录nexus oss的密码

NEXUS_PASSWORD=admin123

# groupid
GROUP_ID = com.xxx

# type
TYPE = aar

# description
DESCRIPTION = app.lib

整个module 配置 simple

apply plugin: 'com.android.library'
apply plugin: 'maven'
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.2.0'
    testCompile 'junit:junit:4.12'
}

uploadArchives {
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            snapshotRepository(url: MAVEN_REPO_SNAPSHOT_URL) {
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            }
            repository(url: MAVEN_REPO_RELEASE_URL) {
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            }
            pom.project {
                version '1.0.1'
                artifactId 'app.lib'
                groupId GROUP_ID
                packaging TYPE
                description DESCRIPTION
            }
        }
    }
}

artifacts {
    archives file('app.lib.aar')
}

现在就是在Module 加一个类,加一个方法,我瞎写的,为了测试

public class Test {

    public static String say(){
        return "aaaa";
    }
}

写完之后,就上传代码的Maven 了。这边不需要复杂的操作,很简单,点一下,等一下,就OK

Paste_Image.png

上传成功的标志

Paste_Image.png

然后就是引用了

    compile "com.xxx:app.lib:1.0.1"

遇到的问题

找不到mavenDeployer方法

module bulid.gradle ,要引用 apply plugin: 'maven'

路径组成

 compile "com.xxx:app.lib:1.0.1"

com.xxx  代表 groupid
app.lib  代表artifactId
1.0.1 代表 version
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,506评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,745评论 25 709
  • 听一首歌,读一本书,看一部电影,我们总会在那一瞬间有自己的感觉。也许当时的自己内心慌乱,不知所措抑或百无聊赖,只想...
    卡卡karol阅读 311评论 0 0
  • 都说婚姻是爱情的坟墓。 在没结婚之前, 我一直在担心这个问题。 因为爱情对于我来说, 是生活的必需品。 但是现在,...
    黎明丶阅读 524评论 0 1
  • 我居然也能一口气看完一本女人的书,故事美的很凄凉。作家就是作家,文字在他们手里,变的完全不一样了。 在我惊叹之于,...
    孤寂于黑夜的浪子阅读 682评论 0 0

友情链接更多精彩内容