2013-05-15 22 views
0

我想使用“JetS3t”连接到Amazon S3存储桶,我也使用Quartz插件, 我在grails-app/jobs中有一份工作,我喜欢在其中访问S3 ,但我在socond线得到一个错误:Grails,使用jets3t连接到S3

AWSCredentials awsCredentials = new AWSCredentials(grailsApplication.config.s3.accessKey, grailsApplication.config.s3.secretKey) 

S3Service s3Service = new RestS3Service(awsCredentials) 

这里是错误:

ERROR listeners.ExceptionPrinterJobListener - Exception occurred in job: null 
Message: java.lang.NoClassDefFoundError: com/jamesmurty/utils/XMLBuilder 

我一定要创建服务,并设置我的S3吗?

回答

0

这个工作对我来说:

def aws_credentials = { 
     return new AWSCredentials(grailsApplication.config.aws.accessKey, grailsApplication.config.aws.secretKey) 
    } 

    def s3_service = { 
     return new RestS3Service(aws_credentials()) 
    } 

    def test = { 
     def buckets = s3_service().listAllBuckets() 
     System.out.println("How many buckets to I have in S3? " + myBuckets.length); 
    } 

当然,你不必把对象的多种方法,使用它们不过你想要的。

另外,还要确保你有这些进口:

import org.jets3t.service.impl.rest.httpclient.RestS3Service 
import org.jets3t.service.security.AWSCredentials