【问题标题】:AWS SDK for Java Tutorial sample missing classesAWS SDK for Java 教程示例缺少类
【发布时间】:2012-04-23 15:22:22
【问题描述】:

按照 AWS SDK for Java 入门教程,运行 AwsConsoleApp 示例:

java -cp .:/Users/marius/Dev/aws-java-sdk-1.3.8/lib/aws-java-sdk-1.3.8.jar AwsConsoleApp

我遇到以下问题:

===========================================
Welcome to the AWS Java SDK!
===========================================
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at com.amazonaws.util.VersionInfoUtils.<clinit>(VersionInfoUtils.java:41)
    at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:31)
    at com.amazonaws.services.ec2.AmazonEC2Client.<init>(AmazonEC2Client.java:95)
    at AwsConsoleApp.init(AwsConsoleApp.java:93)
    at AwsConsoleApp.main(AwsConsoleApp.java:105)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 5 more

在编译时加载到类路径中的完整 SDK 也在运行时给出,所以我无法弄清楚缺少什么。

【问题讨论】:

    标签: java amazon-web-services classpath aws-sdk


    【解决方案1】:

    SDK prerequisites 中,您有:

    需要 Apache CommonsCodecHTTP ClientLogging)第三方包,它们是包含在 SDK 的第三方目录中。

    所以我只是将它们添加到我的.bashrc

    #   Apache Commons Logging
    export CLASSPATH=$CLASSPATH:/Users/marius/Dev/aws-java-sdk-1.3.8/third-party/commons-logging-1.1.1/*
    #   Apache Commons HTTP Client
    export CLASSPATH=$CLASSPATH:/Users/marius/Dev/aws-java-sdk-1.3.8/third-party/httpcomponents-client-4.1.1/*
    #   Apache Commons Codec
    export CLASSPATH=$CLASSPATH:/Users/marius/Dev/aws-java-sdk-1.3.8/third-party/commons-codec-1.3/*
    

    【讨论】:

      【解决方案2】:

      在 Windows 上,将这些路径添加到您的系统 CLASSPATH

      C:\aws-java-sdk-1.3.21.1\lib\aws-java-sdk-1.3.21.1.jar;
      C:\aws-java-sdk-1.3.21.1\third-party\commons-logging-1.1.1\commons-logging-1.1.1.jar;
      C:\aws-java-sdk-1.3.21.1\third-party\commons-codec-1.3\commons-codec-1.3.jar;
      C:\aws-java-sdk-1.3.21.1\third-party\httpcomponents-client-4.1.1\httpclient-4.1.1.jar;
      C:\aws-java-sdk-1.3.21.1\third-party\httpcomponents-client-4.1.1\httpcore-4.1.jar
      

      然后确保在应用这些之后从一个新的 cmd 提示窗口开始。

      【讨论】:

        猜你喜欢
        • 2019-06-27
        • 1970-01-01
        • 2017-12-08
        • 2015-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多