最近做了一些项目,需要直接把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这样的方式来配置。
