2012-04-13 7 views
1

Ich kann in der Lage sein, eine Verbindung herzustellen, da neue RestS3Service wirft keine Ausnahme.JetS3t - verbindet ohne Ausnahme, aber "Invalid Class Name", wenn ich versuche, etwas anderes zu tun

Allerdings, wenn ich versuche, so etwas wie getBucket zu tun ("name"), dann erhalte ich: Ungültige Klassenname: org.jets3t.service.utils.RestUtils $ ConnManagerFactory

Jede Idee, wie um das zu lösen?

Danke!

Mein Code:

AWSCredentials awsCredentials = new AWSCredentials(awsAccessKey, awsSecretKey); 
    S3Service s3Service = null; 

    System.out.println("Credentials created, trying Service"); 

    try { 
     s3Service = new RestS3Service(awsCredentials); 
    } catch (S3ServiceException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    System.out.println("Service connected, trying bucket grab"); 

    try { 
     S3Bucket bucket = s3Service.getBucket("mrbucket"); 
     System.out.println("bucket grabbed: "+bucket.getName()); 
    } catch (S3ServiceException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Ausgang:

Credentials created, trying Service 

Installer - Installer service created 

Service connected, trying bucket grab 

org.jets3t.service.S3ServiceException: Request Error: java.lang.IllegalStateException: Invalid class name: org.jets3t.service.utils.RestUtils$ConnManagerFactory 
    at org.jets3t.service.S3Service.getBucket(S3Service.java:1911) 
    at org.red5.core.Application.myFunction(Application.java:78) 
    at org.red5.core.Application.appStart(Application.java:42) 
    at org.red5.server.adapter.MultiThreadedApplicationAdapter.start(MultiThreadedApplicationAdapter.java:408) 
    at org.red5.server.adapter.ApplicationAdapter.start(ApplicationAdapter.java:54) 
    at org.red5.server.Scope.start(Scope.java:1170) 
    at org.red5.server.Scope.init(Scope.java:905) 
    at org.red5.server.WebScope.register(WebScope.java:207) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
    at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:577) 
Caused by: java.lang.IllegalStateException: Invalid class name: org.jets3t.service.utils.RestUtils$ConnManagerFactory 
    at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:308) 
    at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:445) 
    at org.apache.http.impl.client.AbstractHttpClient.createHttpContext(AbstractHttpClient.java:274) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:797) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) 
    at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:334) 
    at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:281) 
    at org.jets3t.service.impl.rest.httpclient.RestStorageService.performRestGet(RestStorageService.java:981) 
    at org.jets3t.service.impl.rest.httpclient.RestStorageService.listAllBucketsImpl(RestStorageService.java:1373) 
    at org.jets3t.service.StorageService.listAllBucketsImpl(StorageService.java:1379) 
    at org.jets3t.service.StorageService.listAllBuckets(StorageService.java:563) 
    at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1367) 
    at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:84) 
    at org.jets3t.service.StorageService.getBucket(StorageService.java:729) 
    at org.jets3t.service.S3Service.getBucket(S3Service.java:1909) 
    ... 24 more 

Antwort

1

Es sieht aus wie org.jets3t.service.utils.RestUtils $ ConnManagerFactory.class von Ihrem Klassenpfad fehlt. Verfügen Sie über die gesamte JetS3t-Bibliothek? Es gibt ungefähr 19 Gläser in der Bibliothek, RestUtils $ ConnManagerFactory.class ist in jet3t-0.8.1a.jar in der Version 0.8.1a.

+0

ich sie in meinem Build Classpath hatte, aber nicht mein Lauf Classpath. Das war das Problem. Ihre Antwort als akzeptiert markieren. Vielen Dank. –

1

Groovy Benutzer: diese Ausnahme auch ausgelöst, wenn Sie mit Traubenjets3t als Abhängigkeit in einem groovigen Skript deklarieren.

Wenn dies der Fall ist, müssen Sie Grape konfigurieren, um die System-Klassenlader zu verwenden:

@GrabConfig(systemClassLoader=true) 
@Grab(group='net.java.dev.jets3t', module='jets3t', version='0.9.4') 
Verwandte Themen