2015-01-14 2 views
6
나는 Gradle을 프로젝트를 생성 한 모든 것이 잘 구축,하지만 난 내 메이븐 저장소에 업로드하려고 할 때, 나는 다음과 같은 Gradle을 오류 얻을

:Gradle을 uploadArchives 작업 할 수없는 비밀 키

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not evaluate onlyIf predicate for task ':library:signArchives'. 
> Unable to read secret key from file: C:\Users\ideal\pubring.gpg (it may not be a PGP secret key ring) 

내가 따라가 at Sonatype 키를 생성하기 위해 지침을 생성 한 다음 생성 된 위치에서 위의 위치로 복사합니다. 또한 공개 키를 MITs 키 저장소에 게시했습니다.

signing.keyId=MY_KEY_ID 
signing.password=MY_KEY_PASSWORD 
signing.secretKeyRingFile=C:\\Users\\ideal\\pubring.gpg 

이것은 Windows 플랫폼에 내 사용자 디렉토리에있는 gradle.properties 파일은 키 체인에 관련된 다음과 같은 항목이 포함되어 있습니다. 오류 메시지를 찾으려고했지만 관련 플러그인의 소스 파일 만 제공됩니다.

답변

10

일반적으로 "secring.gpg"라는 비밀 키로 전환하는 공개 키를 사용하는 것이 문제입니다. 은 따라서 귀하의 경우가

C:\Users\ideal\secring.gpg

+0

네, 감사합니다. – Jared

18

secring.gpg 파일에 배치해야한다는 removed in GPG 2.1을하고있다.

그러나, GPG는 여전히 이러한 파일을 만들 수 있습니다 gpg --export-secret-keys -o secring.gpg

프로 팁 : Gradle을의 signing pluginsigning.keyId=MY_KEY_ID의 키는 확실히 40 자 지문을 사용하고 있지만 묻는 메시지가 너무 길다는 불평 경우 8 자 ID

  1. 당신은 configure GPGkeyid-format 옵션을 설정하여 대신 지문의 8 문자의 ID를 표시 할 수 있습니다 : 당신은 다음 두 가지 옵션을 가지고있다. gpg --list-keys --keyid-format short

  2. options file (기본 "메시지는 ~/.gnupg/gpg.conf")를 통해이 옵션이 암시 적으로 활성 확인 (감사 tjheslin1!) :

    • 명시 적으로 CLI에서이 옵션을 정의합니다.
  3. 40 자의 지문 중 마지막 8 자리를 사용해보십시오. 이것은 게으른 개발자를위한 것입니다. ;-)

+3

고맙습니다! 오래 동안 노력했지만 마침내 당신의 도움으로 진전을 이루었습니다. 내 문제는 핵심 길이였습니다. 'gpg2 --list-keys --keyid-format short '를 실행하는 것은 내가 필요로하는 것이었다. – tjheslin1

+0

Thanks @ tjheslin1! 방금 입력을 추가했습니다 :-) –

+0

Thanks @PeterWippermann! 정말 도움이되었습니다! – gaurav414u