unix Amazon Web服务Java类路径
我正在尝试运行一个可以读取和写入amazon dynamo DB的应用程序。我下载了Eclipse工具包和AWS SDK,如果我在本地PC上运行该应用程序,它会运行得非常好。接下来,我将其导出到一个jar文件,并将其上载到我的EC2实例。然而,当我在那里运行它时,我得到了一个错误
/home/apps/java/database/bin$ java -jar myJar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/amazonaws/auth/AW SCredentials
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentials
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: DynamoDB. Program will exit.
我想这与类路径有关,但是在/home/ubuntu/中。bashrc我已将其设定为:
CLASSPATH="./:/home/apps/java/database/bin/*:/home/apps/java/database/bin/aws-java-sdk-1.3.12.jar"
export CLASSPATH
/home/apps/java/database/bin包含所有。AWS SDK中的jar文件:
- aspectjrt。罐子
- aspectjweaver。罐子
- aws-java-sdk-1.3.12。罐子
- aws-java-sdk-1.3.12-javadoc。罐子
- aws-java-sdk-1.3.12-sources。罐子
- aws-java-sdk-flow-build-tools-1.3.12。罐子
- commons-codec-1.3。罐子
- commons-logging-1.1.1。罐子
- freemarker-2.3.18。罐子
- httpclient-4.1.1。罐子
- httpcore-4.1。罐子
- jackson-core-asl-1.8.7。罐子
- jackson-mapper-asl-1.8.7。罐子
- 邮件-1.4.3。罐子
- 我的罐子。罐子
- spring-beans-3.0.7。罐子
- spring-context-3.0.7。罐子
- spring-core-3.0.7。罐子
- stax-1.2.0。罐子
- stax-api-1.0.1。罐子
我错过了什么??我已经看了一天半了。提前谢谢你
# 1 楼答案
“/directory/*”的类路径条目可能会把事情搞砸。类路径用冒号分隔,但星号扩展提供了空格。试试这个小shell脚本来启动它
几点注意:
希望这有帮助
# 2 楼答案
这个LIB列表对我很有用 aws-java-sdk-1.11.285-javadoc。罐子 aws-java-sdk-1.11.285-sources。罐子 aws-java-sdk-1.11.285。罐子 aws java sdk。罐子