Mar*_*tuc 7 java classpath amazon-web-services 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
Run Code Online (Sandbox Code Playgroud)
我得到以下问题:
===========================================
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
Run Code Online (Sandbox Code Playgroud)
编译时在类路径中加载的相同完整SDK也在运行时期间给出,因此我无法弄清楚缺少什么.
在SDK先决条件中,您有:
需要Apache Commons(Codec,HTTP Client和Logging)第三方软件包,它们包含在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/*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6411 次 |
| 最近记录: |