2

JGitでS3バケットの米国標準以外の他の場所を使用することは可能ですか(つまり、構成ファイルなどを介して)、またはここで何か間違ったことをしていますか?

EUにあるJGitでS3バケットを使用しようとすると、jgitはエラーをスローします

-> jgit push origin master
Counting objects:       3
Finding sources:        100% (3/3)
Getting sizes:          100% (2/2)
Compressing objects:    100% (1/1)
Writing objects:        100% (3/3)
java.lang.NullPointerException
    at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:518)
    at org.eclipse.jgit.transport.AmazonS3.putImpl(AmazonS3.java:505)
        ...

しかし、US-Standardにあるバケットを使用しようとすると、すべてが正常に機能します。

-> git push origin master
Counting objects:       3
Finding sources:        100% (3/3)
Getting sizes:          100% (2/2)
Compressing objects:    100% (1/1)
Writing objects:        100% (3/3)
Put pack-132548a..idx:  100% (1/1)
To amazon-s3://.jgit@usreponame/chef-receipes.git
 * [new branch]      master -> master
4

1 に答える 1

4

これNullPointerExceptionは、JGitのバグが原因で発生しています。Amazone S3 APIは、200でも500でもないコードを返し、JGitは接続からエラーストリームを読み取ろうとしており、nullエラーストリームを保護していません。

この問題の修正案をここにプッシュしました。

この変更が適用されると、実際の応答コードが例外メッセージに表示され、失敗する理由が明確になります。

于 2012-03-06T01:30:13.860 に答える