使用Gradle部署jar包到Maven中央库(2)

licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        distribution 'repo'
                    }
                }

developers {
                    developer {
                        id 'xianlinbox'
                        name 'Liu Xiannings'
                    }
                }
            }
        }
    }
}

//参见Part 2, 为项目生成**.jar/**-javadoc.jar/**-sources.jar
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from 'build/docs/javadoc'
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

artifacts {
    archives jar
    archives javadocJar
    archives sourcesJar
}

//为所有的jar包做数字签名
signing {
    sign configurations.archives
}

Part 5: 遇到过的问题

1. java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
这个问题只有在使用的是OpenJDK的时候才会遇到,原因是OpenJDK的包里面没有带有效的证书,在MacOS上,只要把系统库里带的cacerts给它关联过去就行了。

cd $(/usr/libexec/java_home -v 1.7)/jre/lib/security
ln -fsh /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts

2.Return Code is 400

这个问题有一段心酸的过程,有兴趣的可以看一下这个issue :issue fixed process 在部署过程中收到这个Error Message的情况有2种: * 重复部署同一个jar包到Maven库,但是,Maven库却设置为不允许重复部署,在Gradle 1.0版本的MavenDeployer就有这个问题,会重复提交jar包,不过已经在1.1版本修复。 * 试图部署一个release版本的jar包到snapshot库。 我的情况是后者,不过Root Cause比较汗颜,因为我把version number 写成了“0.1.0-snapshot”,不符合Maven对Snapshot包的规范,因此,被当做release 版本了,修改为“0.1.0-SNAPSHOT”就成功了

Maven权威指南_中文完整版清晰PDF 

Maven 3.1.0 发布,项目构建工具

Linux 安装 Maven

Maven3.0 配置和简单使用

Ubuntu下搭建sun-jdk和Maven2

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fe14ab72beed42fc5a906d84474b9b78.html