我正在尝试使用Bintray的网站将我的Android库发布到JCenter。
我创建了一个Maven风格的zip文件,其中包含所有需要的工件:aar,sources,javadocs和pom文件,使用以下博文:
在创建的zip文件中似乎一切都已到位,但在尝试将我的包链接到JCenter时仍然出现错误:
将POM文件添加到包的最新版本
我不确定是什么问题,因为pom在里面..
任何想法可能出错?
更新
这是zip文件的内容:
com
└───foxxymobile
└───wearmock
└───wear-mock
│ maven-metadata.xml
│ maven-metadata.xml.md5
│ maven-metadata.xml.sha1
│
└───0.1.0
wear-mock-0.1.0-javadoc.jar
wear-mock-0.1.0-javadoc.jar.md5
wear-mock-0.1.0-javadoc.jar.sha1
wear-mock-0.1.0-sources.jar
wear-mock-0.1.0-sources.jar.md5
wear-mock-0.1.0-sources.jar.sha1
wear-mock-0.1.0.aar
wear-mock-0.1.0.aar.md5
wear-mock-0.1.0.aar.sha1
wear-mock-0.1.0.pom
wear-mock-0.1.0.pom.md5
wear-mock-0.1.0.pom.sha1
这是POM文件:
<?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.foxxymobile.wearmock</groupId>
<artifactId>wear-mock</artifactId>
<version>0.1.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>21.0.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
如您所见,pom位于拉链内。这就是脚本创建它的方式。
答案 0 :(得分:7)
此问题的原因是所有必需的工件都上传为未提取的zip存档。因此,Bintray无法找到所需的POM fie 当manually uploading向Bintray提供内容时,您可以上传存档并选择通过选中“分解此存档”复选框来提取存档。默认情况下,此复选框未选中。
答案 1 :(得分:1)
这就是我解决它的方法:
I manually upload 2个文件到Bintray,格式如下:
[library name]-[version].[type]
例如:
my-library-name-0.0.3.pom
my-library-name-0.0.3.aar
文件my-library-name-0.0.3.pom是generatd文件[lib项目文件夹] \ build \ poms \ pom-default.xml的副本,其中包含依赖项和内容列表。
重要:当我上传my-library-name-0.0.3.pom时,系统建议将其放在特定路径中 - 您需要将两个文件放在那里。
发布文件后,您应该在包页面中看到“Maven build settings(ver:0.0.3)”和maven / gradle inport详细信息。