如何使用 curl 将 jar 作为 maven 工件发布到 bintray?

How to publish jar as maven artifact to bintray using curl?

我有一些第 3 方 jar 文件要上传到 bintray,然后能够将它们导入为 maven 工件。我写了一个 bash 类似于这个的脚本:

https://github.com/bintray/bintray-examples/blob/master/bash-example/pushToBintray.sh

起初,我尝试将 jar 文件作为内容上传,但 bintray 不将其视为 Maven 工件,我无法使用 sbt 将其作为依赖项包含在内。

所以我然后尝试进行 maven 上传,以使 bintray 将其视为 maven 工件。我的 curl 命令如下所示:

${CURL} -T ${file} ${API}/maven/${BINTRAY_USER}/${BINTRAY_REPO}/${PCK_NAME}/${PCK_NAME}-${PCK_VERSION}.jar/;publish=1

http 响应是:

{"message":"Provided artifact path does not comply with Maven's convention"}

我还尝试了 curl 命令的变体,特别是 url 中 file_path 标记的不同值。但是结果都是一样的。

我如何让它工作?

我明白了。似乎 mvncurl:

更好
        mvn deploy:deploy-file -Durl="https://api.bintray.com/maven/${USER_ID}/${REPO_ID}/${PCK_NAME}/;publish=1" \
                       -DrepositoryId=${SERVER_ID} \
                       -Dfile=${file} \
                       -DgroupId=${GROUP_ID} \
                       -DartifactId=${PCK_NAME} \
                       -Dversion=${PCK_VERSION} \
                       -Dpackaging=jar \
                       -DgeneratePom=true \
                       --settings ${DIR}/settings.xml