精华内容
下载资源
问答
  • maven自建仓库 Return code : 405

    千次阅读 2016-07-06 08:57:00
    maven自建仓库jar包上传: jar包上传可以采用在自建仓库上系统上传以及通过配置maven setting.xml以及pom.xml上传。 maven通过配置上传需要用户名密码以及maven仓库位置配置。 遇到的一些问题记录如下 其中...

       maven自建仓库jar包上传:

       jar包上传可以采用在自建仓库上系统上传以及通过配置maven setting.xml以及pom.xml上传。

       maven通过配置上传需要用户名密码以及maven仓库位置配置。

       遇到的一些问题记录如下

       其中Return code : 405为路径配置错误,maven路径包含两部分一部分是下边url

      <distributionManagement>
      <repository>
      <id>snapshots</id>
      <name>libs-snapshots</name>
      <url>http://artifactory.test-develop.com/libs-snapshots</url>
      </repository>
      </distributionManagement> 

      以及使用的时候下边groupId、artifactId、version

      <dependency>
      <groupId>com.test</groupId>
      <artifactId>findgoods-common</artifactId>
      <version>1.0.0-SNAPSHOT</version>
      </dependency>

      最终在maven自建仓库的位置应该可以找到

      http://artifactory.test-develop.com/libs-snapshots/com/test/findgoods-common/1.0.0-SNAPSHOT/

      发生405问题如上述解决就可以

      其他问题可以参考

      http://maishj.iteye.com/blog/2153092

     

    转载于:https://www.cnblogs.com/freedommovie/p/5645704.html

    展开全文
  • 1,如何离线下载MAVEN所有中央仓库JAR包 2,如何搭建本地MAVEN仓库,并导入离线下载的中央jar包 ...3,如何设置调用自建服务器MAVEN Jar包~~ 网上各种攻略尝试 主要nexus搭配maven 但都不是很奏效 谢谢~~
  • 自建 Maven 仓库

    2019-10-20 11:05:15
    自从公司使用 Maven 仓库管理代码后,一直想着有一个自己的代码仓库。虽然写的代码不多,但是不影响 Get 一项新技能。 1. 集成 Maven 由于本人是做 Android 开发,于是通过集成 Maven 的 Gradle 插件,生成对应的 ...

    0. 前言

    自从公司使用 Maven 仓库管理代码后,一直想着有一个自己的代码仓库。虽然写的代码不多,但是不影响 Get 一项新技能。

    1. 集成 Maven

    由于本人是做 Android 开发,于是通过集成 Maven 的 Gradle 插件,生成对应的 aarjar 库。

    在 Module 的 build.gradle 中,集成配置如下:

    // 使用 Maven 插件
    apply plugin: 'maven'
    
    // 远程库名称通常由三部分构成 ,groupId:artifactId:version
    // 定义 group
    group = 'com.flueky'
    // 定义 version
    version = '1.0.0' // 指定版本
    // artifactId 默认使用 module name
    
    // 以上两个配置也可以在下面的 deployer 中定义
    
    // 下面定义三种不同的 maven 仓库地址
    // 1. 计算机中,用户目录下
    def localMavenRepo = 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath
    // 2. 工程目录下 等同 uri('../repository')
    def projectMavenRepo = 'file://' + rootDir.getAbsolutePath() + '/repository' 
    // 3. 自建的 Maven 私服上
    def nexusMavenRepo = 'http://127.0.0.1:9000/repository/android/'
    // 下面是 Maven 私服的用户名和密码,上传时需要
    def nexusUserName = 'admin'
    def nexusPassword = 'admin123'
    
    uploadArchives {
        repositories.mavenDeployer {
            // 指定导出到的仓库地址,三个任选一个
            repository(url: localMavenRepo)
            repository(url: projectMavenRepo)
            repository(url: nexusMavenRepo) {
                // 需要授权用户名和密码
                authentication(userName: nexusUserName, password: nexusPassword)
            }
            // 下面三个定义的常量可以复写上面已定义的值
            pom.groupId = "com.flueky"// 唯一标识(通常为模块包名,也可以任意)
            pom.artifactId = "maven-test" // 项目名称(通常为类库模块名称,也可以任意)
            pom.version = "1.0.0" // 版本号
        }
    }
    

    配置好上述代码后,生成 aarjar 是由 Module 类型决定。

    // 生成 aar
    apply plugin: 'com.android.library'
    // 生成 jar
    apply plugin: 'java'
    

    已本地私服为例,最终导出的远程库结构如下:

    2. 导出到 Maven

    配置完成后,即可在 Gradle 任务中查看。

    点击 uploadArchives 即可完成导出。之后在对应的目录下查看。

    3. 使用 Maven 仓库

    针对前面配置的三种仓库地址,使用时需要分别作配置。

    allprojects {
        repositories {
            // 本地仓库
            mavenLocal()
            // 本地服务器
            maven {
                // 如果 nexus 私服具备匿名访问权限,无须配置用户名密码,
                // 具备上传权限的用户名和密码通常不开放使用。
                credentials {
                    username "flueky"
                    password "123456"
                }
                url 'http://127.0.0.1:9000/repository/android/'
            }
            // 工程目录仓库
            maven { url 'file://' + rootDir.getAbsolutePath() + '/repository/' }
        }
    }
    

    最后添加依赖。

    dependencies {
        implementation 'com.flueky:maven-test:1.0.0'
        implementation 'com.flueky:lib-test:1.0.0'
    }
    

    最后,如何搭建 Maven 私服,没做介绍,主要是我也才上手,搭建私服,推荐使用 nexus 。

    源码地址

    觉得有用?那打赏一个呗。[去打赏]({{ site.url }}/donate/)

    展开全文
  • maven自建maven 报Could not find artifact

    千次阅读 2017-12-11 10:40:37
    原因是本地仓库缺少了对应的pom, 原来是忘记了将工程打包到本地仓库 ,运行聚合工程前记得先将依赖的工程都先Maven install到本地仓库,否则也会出现以上问题
    原因是本地仓库缺少了对应的pom, 原来是忘记了将工程打包到本地仓库 ,运行聚合工程前记得先将依赖的工程都先Maven install到本地仓库,否则也会出现以上问题
    
    展开全文
  • 一、概述 在实际业务开发中,可能会遇见很多通用...这种时候,要是有一个自由Maven仓库就好了!(当然,Github也欢迎你的轮子) 本文就介绍通过 Artifactory 傻瓜式快速搭建Maven仓库。 在简短的几个步骤后,就有了一...

    一、概述

    在实际业务开发中,可能会遇见很多通用模块管理问题,可能并不想每次打包的时候就去重新build对应模块,这会在一定程度上解放我们的开发效率;同样,由于墙的存在,有些时候打包总是一个遥遥无期的等待过程...

    这种时候,要是有一个自由Maven仓库就好了!(当然,Github也欢迎你的轮子)

    本文就介绍通过 Artifactory 傻瓜式快速搭建Maven仓库。

    在简短的几个步骤后,就有了一个运行的Maven库。并且配置自己的jcenter镜像服务器,从此,再也不用每次苦苦等待打包去翻墙了呢~

    二、配置、使用Maven仓库

    2.1 Java 环境初始化

    安装开始之前,确定本机电脑或者服务器已安装Java 8,否则 Artifactory 无法运行。

    C:\Users\Administrator>java -vsersion
    java version "1.8.0_111"
    Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
    复制代码

    如果输出版本小于1.8.*,则需要先下载安装最新的Java SDK( 下载链接 )。

    2.2 安装配置 Artifactory

    2.2.1 安装

    从官网下载最新版本的 Artifactory( 下载链接 ),解压文件后,然后运行与平台对应的指令集即可。

    由于服务器操作系统是Windows,我只需要双击运行 artifactory.bat 即可。

    通过访问 http://localhost:8081/artifactory/ ,用默认管理员账号密码(用户名:admin,密码:password ) 登录,进入管理界面体验 Artifactory。

    可能遇见的坑:

    在运行 artifactory.bat 的时候,确定系统已经配置 JAVA_HOME 环境变量,否则会报如下错误:

    2.2.2 项目配置

    在项目中添加 Gradle 任务,上传文件到 2.2.1节 中已经建好的 maven仓库 中。

    2.2.2.1 添加引用

    在项目根目录的 build.gradle 中,添加 Artifactory Gradle 插件的引用:

    buildscript {
        dependencies {
            ...
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.13"
        }
    }
    复制代码

    2.2.2.2 引用插件

    然后在需要上传到 maven 仓库的模块中,添加上传需要的插件:

    apply plugin: 'maven-publish'
    apply plugin: 'com.jfrog.artifactory'
    复制代码

    上传的库由以下三个参数确定:

    • groupId : 库的包名
    • artifactId : 库的名称
    • version : 版本号,用于区分不同版本

    在本文的测试中,相关配置如下:

    groupId = "com.burjal.testaar"
    artifactId = "test"
    version = "0.0.1"
    复制代码

    注意: argifactId 需要和 assembleRelease 任务输出的文件名匹配。

    2.2.2.3 添加maven-publish任务

    assembleRelease 任务生成的 ***-release.aar 文件发布到 Artifactory。

    publishing {
        publications {
            aar(MavenPublication) {
                groupId = "com.burjal.testaar"
                artifactId = "test"
                version = "0.0.1"
    
                // Tell maven to prepare the generated "* .aar" file for publishing
                artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
            }
        }
    }
    复制代码

    2.2.2.4 添加发布任务

    配置 com.jfrog.artifactory 插件,指定发布到对应的库。本文提供的示例默认放到 libs-release-local 库中。

    artifactory {
        contextUrl = 'http://zixigou.com:8081/artifactory'
        publish {
            repository {
                // The Artifactory repository key to publish to
                repoKey = 'libs-release-local'
    
                def loginInfo = getArtifactoryLoginInfo() //安全性考虑,从配置文件中读取用户登录信息
                username = loginInfo[0]
                password = loginInfo[1]
            }
    
            defaults {
                // Tell the Artifactory Plugin which artifacts should be published to Artifactory.
                publications('aar')
                publishArtifacts = true
    
                // Properties to be attached to the published artifacts.
                properties = ['qa.level': 'basic', 'dev.team': 'core']
                // Publish generated POM files to Artifactory (true by default)
                publishPom = true
            }
        }
    }
    复制代码

    2.2.2.5 发布

    如下,通过 Gradle 任务,即可轻松发布到 Artifactory:

    gradle assembleRelease generatePomFileForAarPublication artifactoryPublish
    复制代码

    2.2.3 项目引用发布到 Artifactory 的模块

    在需要使用到该 artifact ,在项目根目录的 build.gradle 文件中,把私有 maven仓库 信息添加到仓库列表中。

    buildscript {
        repositories {
    
            maven {
                url "http://zixigou.com:8081/artifactory/libs-release-local"
            }
    
            jcenter()
        }
        dependencies {
            ...
        }
    }
    
    allprojects {
        repositories {
            maven {
                url "http://zixigou.com:8081/artifactory/libs-release-local"
            }
    
            jcenter()
        }
    }
    复制代码

    然后在项目对应使用到该模块的 build.gradle 文件中添加 artifact 作为依赖就可以了:

    compile "com.burjal.testaar:test:$rootProject.test_aar"
    复制代码

    三、使用jcenter缓存

    3.1 配置

    Artifactory 默认将 jecnter 库缓存到私有 maven仓库 中。

    因此,我们可以在项目中配置 jcenter 仓库信息列表,后续编译所需要的包都直接从私服 maven仓库 读取,加快项目编译速度。

    我们通过添加 okhttp 引用示例 (Github)。

    在项目根目录的 build.gradle 文件中,把私有 maven仓库 信息添加到仓库列表中:

    buildscript {
        repositories {
            maven {
                url "http://zixigou.com:8081/artifactory/jcenter" // 配置私服jcenter仓库信息
            }
    
            maven {
                url "http://zixigou.com:8081/artifactory/libs-release-local"
            }
    
            jcenter()
        }
        dependencies {
           ...
        }
    }
    
    allprojects {
        repositories {
            maven {
                url "http://zixigou.com:8081/artifactory/jcenter" // 配置私服jcenter仓库信息
            }
    
            maven {
                url "http://zixigou.com:8081/artifactory/libs-release-local"
            }
    
            jcenter()
        }
    }
    复制代码

    这样,我们在后续的编译过程中,都会首先从私服 maven仓库 读取引用文件,当私服中不存在该文件时,第一次读取会缓存在服务器中。这样,就加快了编译获取引用包的网络请求。

    3.2 示例

    我们通过在项目中引用 okhttp (Github)作为示例。

    在模块中添加 okhttp 引用:

    compile "com.squareup.okhttp3:okhttp:$rootProject.okhttp"
    复制代码

    首次编译完成后,我们可以看见 maven仓库 中文件目录如下:

    3.3 说明

    当然,我们还可以设置更多自定义的缓存目录。

    这里面支持设置包括 代理网络连接超时 等。更多功能,就等着更多的去发掘了。

    四、说明

    本文已经上传了示例项目 MavenRepository 到 Github 供参考。

    本文对 自建 Maven仓库 - Artifactory 分析就到这了,错误之处烦请指正~

    附:

    Artifactory 官网

    展开全文
  • 创建Maven2仓库 通过命令上传 配置阿里云镜像 开始使用 开始 下载地址:https://help.sonatype.com/repomanager3/download/ 根据自己的系统选择好对应的版本之后下载,我这里掩饰linux版 下载好之后解压缩nexus-...
  • 自建私有 Maven 仓库

    千次阅读 2016-09-01 17:32:27
    私有 Maven 还会产生另一个好处,就是代理中央 Maven 仓库。例如,我们新加入了一个第三方库,导致每个人的 IDE 都需要从中央 Maven pull 库,而中国 GFW 的存在,导致中央 Maven 极其不稳定,经常 time out ,有了...
  • 用nexus自建maven仓库

    2014-11-27 14:40:11
    http://www.blogjava.net/baoyaer/articles/355040.html http://www.cnblogs.com/adolfmc/archive/2012/08/21/2648415.html
  • 然后一个自己的maven仓库的位置,这是我的位置 然后修改maven下的config下的settings,位置如图 编辑如图,这里配置的就是自己定义的maven仓库的位置。这样maven下载下来的包文件就不会去找它默认的位置,...
  • LocalWarehouse是在maven文件夹中自建的文件目录,用来作为maven的本地仓库。 2.eclipse中配置mavne Window-->Preferences-->Maven-->User Settings 不用配置Global Settings ,只配置User Settings,如...
  • [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project force-shading: Failed to deploy artifacts: Could not transfer artifact org.apac...
  • mirror> id>nexus-aliyunid> mirrorOf>*mirrorOf> name>Nexus aliyunname> url>http://maven.aliyun.com/nexus/content/groups/publicurl> mirror>
  • 公司内部有自建maven仓库(nexus),同时有自建的archetype,现需要根据现有框架快速生成项目,折腾了半天才弄好,下如下文字记录一下: 一共是两步: 1.设置全局setting的仓库位置(我这边直接使用全局啦,按项目...
  • 如果能切换到国内的Maven镜像仓库,如开源中国的Maven库,又或者是换成自建Maven私服,那想必是极好的。一个简单的办法,修改项目根目录下的build.gradle,将jcenter()或者mavenCentral()替换掉即可:allproject.....
  • Maven作为目前主流的项目管理工具,在依赖管理、系统构建等方面的表现可谓可圈可点。但对于去“墙内”用户而言,访问国外的Maven仓库无疑是一场噩梦,搭建私有Maven仓库...Maven本地库将项目自建构件发布到Maven私有库
  • 上传jar到maven中央仓库

    千次阅读 2016-08-19 18:47:04
    目前最流行的发布jar包方式是把jar包上传到maven仓库,可能是自建仓库或者中央仓库。自建仓库一般只供公司内部或个人使用,对外发布的jar包如java sdk可以上传到中央仓库,方便用户使用。上传到中央仓库的官方指南:...
  • 路径为你自己的本地仓库:E:/maven/bdck 2.如果还不可以 你要看看IDEA的配置 改成自己的地址 3.如果不行你要检查本地仓库,可能你的库里是没有jar包 像这样的文件就是可能下载一半断网所致————删掉...
  • maven仓库的优先级顺序

    万次阅读 2018-05-25 15:29:07
    私服仓库可以是自己的,也可以是其它主体的(比如aliyun的maven仓库,jboss的maven仓库等)。 私服可以分为:全局应用的私服仓库、应用到项目自身的私服仓库maven寻找得顺序大致可以理解为: 1,在本地...
  • 这个仓库的建立让我好尴尬啊,在setting.xml我更改到了aliyun的位置,不过在建立项目时,在阿里云里寻找的依赖,在添加依赖以后,他不认最新的包。小白一个,描述不清楚,请见谅!
  • 背景:公司有自建的nexus伺服,需要从老的地址 http://svn.xxxx:8081 (老地址) 切换到新的域名 (http://nexus.xx)。 过渡期已经有一两年了,最近老地址的机器要退了,所以必须迁移到新机器,记录下遇到的问题。 ...
  • 搭建Maven私有仓库

    2017-04-14 14:50:35
    :https://pcyan.github.io/2017/04/08/use-nexus-to-create-private-maven-repo/?utm_medium=email&utm_source=gank.io 最近发现多个项目中有引用相同的模块,所以想着怎么解耦公共模块,就找到了私有仓库这...
  • maven的本地仓库设置成自己的文件夹: 1:先创建一个自己的文件夹,然后,在maven的安装文件中,有一个config文件夹,这个文件夹下面,有一个settings.xml文件,把它复制到自己的文件夹中 2:这时,在...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 179
精华内容 71
关键字:

maven自建仓库