AWS SDK for Java教程示例缺少类

AWS SDK for Java教程示例缺少类,java,amazon-web-services,classpath,aws-sdk,Java,Amazon Web Services,Classpath,Aws Sdk,在开始学习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! ================================

在开始学习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
===========================================
欢迎使用AWS Java SDK!
===========================================
线程“main”java.lang.NoClassDefFoundError中出现异常:org/apache/commons/logging/LogFactory
位于com.amazonaws.util.VersionInfoUtils。(VersionInfoUtils.java:41)
在com.amazonaws.ClientConfiguration.(ClientConfiguration.java:31)
位于com.amazonaws.services.ec2.AmazonEC2Client.(AmazonEC2Client.java:95)
在AwsConsoleApp.init(AwsConsoleApp.java:93)
位于AwsConsoleApp.main(AwsConsoleApp.java:105)
原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 还有5个
编译时加载到类路径中的完整SDK也在运行时提供,因此我无法找出缺少了什么。

其中,您有:

需要Apache Commons编解码器HTTP客户端日志记录)第三方软件包,这些软件包包含在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/*

在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提示符窗口开始