日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搭建Maven私有仓库

發布時間:2024/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建Maven私有仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內部的項目并且需要多團隊協作模塊化開發的時候,自然會想到搭建自己的maven私有倉庫,本文主要介紹如何搭建maven私服和如何在項目中添加依賴。

Maven 的遠程倉庫分為中央倉庫和私服倉庫。中央倉庫存放了世界各地用戶上傳的依賴包,比較出名的是 JCenter 和 Maven Central,開源的第三方依賴一般都會上傳到這兩個中央倉庫,這樣我們只用添加這兩個中央倉庫的鏈接地址,就可以下載各種我們需要的依賴了

在公司內部,搭建一個 Maven 倉庫,把公司內部不想開源的依賴包上傳到私服倉庫中,有更好保密性和安全性。 順便介紹一個阿里的maven倉庫

maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'} 復制代碼

可以幫助你快速通過gradle build

有三種比較流行的 Maven 倉庫管理軟件可以創建私服,Apache基金會的 Archiva,JFrog 的 Artifactory ,Sonatypec 的 Nexus

使用Nexus搭建Maven私有倉庫

環境

要求 Java 8 Runtime Environment或者以上

查看java版本

java -version 復制代碼

下載運行Nexus

去 官網 下載 www.sonatype.com/download-os… 根據你的操作系統選擇下載,解壓

進入 nexus-3.14.0-04-mac/nexus-3.14.0-04/bin 目錄,執行

// Unix & OS X ./nexus run// Windows nexus.exe /run 復制代碼

控制臺顯示如下,表示成功啟動服務

Started Sonatype Nexus OSS 復制代碼

打開瀏覽器,輸入 http://localhost:8081/ 就可以看到管理界面

默認的管理員賬號密碼為

username:admin password:admin123 復制代碼

至此,使用nexus搭建的maven私有倉庫已經準備就緒,接下來是如何上傳Library和如何添加依賴

上傳Library

Library Moudle 的 gradle.properties 文件里配置上傳參數

# 上傳的Library信息 GROUP=com.group.moduleteam VERSION_NAME=1.0.0 POM_ARTIFACT_ID=modulelibrary# 上傳的目標倉庫地址 SNAPSHOT_REPOSITORY_URL=http://localhost:8081/repository/maven-snapshots/ RELEASE_REPOSITORY_URL=http://localhost:8081/repository/maven-releases/# Nexus私服的用戶名稱和密碼 NEXUS_USERNAME=admin NEXUS_PASSWORD=admin123 復制代碼

然后在Library Moudle 的gradle.properties文件里加上

apply plugin: 'maven'def isReleaseBuild() {return VERSION_NAME.toUpperCase().contains("SNAPSHOT") == false } def getRepositoryUsername() {return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : "" } def getRepositoryPassword() {return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : "" } def getRepositoryUrl() {return isReleaseBuild() ? RELEASE_REPOSITORY_URL : SNAPSHOT_REPOSITORY_URL } afterEvaluate { project ->uploadArchives {repositories {mavenDeployer {pom.groupId = GROUPpom.artifactId = POM_ARTIFACT_IDpom.version = VERSION_NAMErepository(url: getRepositoryUrl()) {authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())}}}}task androidJavadocs(type: Javadoc) {source = android.sourceSets.main.java.srcDirsclasspath += project.files(android.getBootClasspath().join(File.pathSeparator))}task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {classifier = 'javadoc'from androidJavadocs.destinationDir}task androidSourcesJar(type: Jar) {classifier = 'sources'from android.sourceSets.main.java.sourceFiles}//解決 JavaDoc 中文注釋生成失敗的問題tasks.withType(Javadoc) {options.addStringOption('Xdoclint:none', '-quiet')options.addStringOption('encoding', 'UTF-8')options.addStringOption('charSet', 'UTF-8')}artifacts {archives androidSourcesJararchives androidJavadocsJar} }復制代碼

也可以把以上 build.gradle中的配置,創建一個 gradle 文件,例如 upload_nexus.gradle中,然后在 build.gradle中引用upload_nexus.gradle

apply from: 'upload_nexus.gradle' 復制代碼

配置已經完成,打開Android Studio 中打開右側的 Gradle 側邊欄,打開 這個module library,可以看到 uploadArchives,這就是剛才創建的上傳 Task,點擊即可完成上傳

如果 uploadArchives Task 執行成功,在 Nexus 倉庫中可以看到上傳的內容

點擊左側導航欄 Browse - maven-public 就可以看到

添加私有庫依賴

項目根路徑的build.gradle

buildscript {repositories {google()jcenter()maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}maven { url 'http://localhost:8081/repository/maven-public/' }} }allprojects {repositories {google()jcenter()maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}maven { url 'http://localhost:8081/repository/maven-public/' }} }復制代碼

然后,在需要引用該三方庫的目標 Module 的 build.gradle 中添加此庫的依賴

dependencies {implementation 'com.group.moduleteam:modulelibrary:1.0.0' } 復制代碼

就可以正常使用私有Library了

補充一下清理gradle緩存的命令:

// OS X ./gradlew build --refresh-dependencies// Windows gradlew build --refresh-dependencies 復制代碼

轉載于:https://juejin.im/post/5bd1805fe51d457a2b7b23c5

總結

以上是生活随笔為你收集整理的搭建Maven私有仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。