2013-03-16 4 views
1

내가 Guice에 새로 온 사람과 실제로 cloudify이 원인이 될 수 있습니다 내가 무엇에 관해서보고 포인터 또는 영역을 얻을 수 있었으면 첫째Guice 작성 오류 : Cloudify

  1. 을 :

    No implementation for com.google.common.cache.LoadingCache<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.LoginCredentials> was bound. 
        while locating com.google.common.cache.LoadingCache<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.LoginCredentials> 
        for parameter 9 at org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.<init>(AWSEC2CreateNodesInGroupThenAddToSet.java:94) 
        at org.jclouds.aws.ec2.compute.config.AWSEC2ComputeServiceContextModule.configure(AWSEC2ComputeServiceContextModule.java:96) 
    
  2. 그리고 :

    No implementation for com.google.common.cache.CacheLoader<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.Credentials> was bound. 
        at org.jclouds.ec2.compute.config.EC2ComputeServiceDependenciesModule.credentialsMap(EC2ComputeServiceDependenciesModule.java:169) 
    2 errors 
    

1에 대한 코드는 다음과 같습니다 -

public class AWSEC2ComputeServiceContextModule extends BaseComputeServiceContextModule { 
@Override 
protected void configure() { 
super.configure(); 
    installDependencies(); 
    install(new EC2BindComputeStrategiesByClass()); 
    install(new AWSEC2BindComputeSuppliersByClass()); 
    bind(ReviseParsedImage.class).to(AWSEC2ReviseParsedImage.class); 
    bind(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.class).to(
      CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.class); 
    bind(EC2HardwareSupplier.class).to(AWSEC2HardwareSupplier.class); 
    bind(EC2TemplateBuilderImpl.class).to(AWSEC2TemplateBuilderImpl.class); 
    bind(EC2GetNodeMetadataStrategy.class).to(AWSEC2GetNodeMetadataStrategy.class); 
    bind(EC2ListNodesStrategy.class).to(AWSEC2ListNodesStrategy.class); 
    bind(EC2DestroyNodeStrategy.class).to(AWSEC2DestroyNodeStrategy.class); 
    bind(InstancePresent.class).to(AWSEC2InstancePresent.class); 
    bind(EC2CreateNodesInGroupThenAddToSet.class).to(AWSEC2CreateNodesInGroupThenAddToSet.class); 
    bind(RunningInstanceToNodeMetadata.class).to(AWSRunningInstanceToNodeMetadata.class); 
} 

2에 대한 코드는 다음과 같습니다 -

@Provides 
@Singleton 
@Named("SECURITY") 
protected LoadingCache<RegionAndName, String> securityGroupMap(
     @Named("SECURITY") CacheLoader<RegionAndName, String> in) { 
    return CacheBuilder.newBuilder().build(in); 
} 

내 초기 생각은 없거나 경로에 누락 된 항목이 jar 파일이 될 수 있습니까? 모든 지시 사항과 지침을 부탁드립니다. 이것은 Netbeans 7.3 beta, Java 1.7, GlassFish, Cloudify 2.5.0-SNAPSHOT, Bootcamped IMAC의 Windows 7 Professional 64 비트에 있습니다.

+0

언제 이러한 오류가 발생합니까? Cloudify CLI 실행 어떤 명령? 넷빈즈에 대해 언급했는데, 디버거에서 Cloudify를 실행하려고합니까? – Barak

답변

0

클래스 경로에서 일부 jar 파일이 누락되었습니다. 최소한 당신이 당신의 클래스 경로에 다음 디렉토리에서 jar 파일이 있어야합니다

  • CLOUDIFY_HOME/lib 디렉토리/요구/*
  • CLOUDIFY_HOME/lib 디렉토리/플랫폼/ESM/*
  • CLOUDIFY_HOME/lib 디렉토리/platform/cloudify/*
0

사용중인 Java 버전도 확인하십시오. 1.7u51 이상인 경우 cloudify에서 사용하는 jclouds 버전, 특히 Guice (문제는 here으로 설명)와는 잘 작동하지 않습니다.

이전 JDK (1.7u45 이하)로 되 돌리면 해결됩니다.