zl程序教程

您现在的位置是:首页 >  后端

当前栏目

发布工程到maven

Maven 发布 工程
2023-09-11 14:18:52 时间

最近做了一些项目,需要直接把github上的项目clone下来,发布到私有maven库上。

整理了一些可能需要的问题,记录一下,留着以后遇到同样问题的时候使用。

举个例子,clone下来了阿里的开源项目freeline,准备发布到私有maven上。

1、sycn不过,提示bintray.gradle文件出错。直接全部注掉

2、sycn不过,提示找不到com.android.library。原因freeline的runtime工程不是一个完整的项目。缺少一个工程gradle文件,随便拷贝一个过来,搞定。

3、sycn通过了,下一步就是发布到maven上了。首先是发布到本地maven上。

 

uploadArchives {
    repositories.mavenDeployer {
        repository(url: uri('D:/Users/xiangleiliu/.m2/repository'))
        pom.packaging = 'aar'
    }
}

拷贝上面的内容到Module的build.gradle文件中

 

这时候打开Gradle projects,应该会多了一个task。

 

双击运行既可以完成发布。

4、发布到私有maven上。

 

repositories.mavenDeployer {
    name = 'mavenCentralReleaseDeployer'
    repository(url: "http://maven.xxxx.com/nexus/content/repositories/releases/") {
        authentication(userName: "xx", password: "xx")
    }
    pom.artifactId = "sdk"
    pom.packaging = 'aar'
}

使用上面的内容就可以了。。

 

5、看下pom.xml文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.antfortune.freeline</groupId>
  <artifactId>gradle</artifactId>
  <version>0.8.2.1.1</version>
  <dependencies>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.squareup</groupId>
      <artifactId>javapoet</artifactId>
      <version>1.7.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.github.javaparser</groupId>
      <artifactId>javaparser-core</artifactId>
      <version>2.4.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>


上面的这些artifactId、groupId、version等等我们都可以通过

 

pom.artifactId这样的方式来配置。