3

我正在尝试运行一个读取和写入亚马逊发电机数据库的应用程序。我下载了 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 开发工具包中的所有 .jar 文件:

  • 方面jrt.jar
  • aspectjweaver.jar
  • aws-java-sdk-1.3.12.jar
  • aws-java-sdk-1.3.12-javadoc.jar
  • aws-java-sdk-1.3.12-sources.jar
  • aws-java-sdk-flow-build-tools-1.3.12.jar
  • commons-codec-1.3.jar
  • commons-logging-1.1.1.jar
  • freemarker-2.3.18.jar
  • httpclient-4.1.1.jar
  • httpcore-4.1.jar
  • 杰克逊核心asl-1.8.7.jar
  • jackson-mapper-asl-1.8.7.jar
  • 邮件 1.4.3.jar
  • myJar.jar
  • spring-beans-3.0.7.jar
  • spring-context-3.0.7.jar
  • spring-core-3.0.7.jar
  • stax-1.2.0.jar
  • stax-api-1.0.1.jar

我错过了什么??我已经看了一天半了。先感谢您!!

4

2 回答 2

0

“/directory/*”的类路径条目可能会把事情搞砸。类路径用冒号分隔,但星号扩展给出空格。试试这个小 shell 脚本来启动它。

#!/bin/sh
JAVA_OPTS="-Xms256M -Xmx4G"
CP=`find /home/apps/java/database/bin/*jar -exec echo -n "{}:" \;`
java -cp ${CP%?} -jar yourjar.jar

几点注意事项:

  • JAVA_OPTS 只是为了提醒您可能需要比默认内存更多的内存。
  • 最后一行 CP 的疯狂语法去掉了最后一个字符,因为“查找”行最后留下了一个冒号。
  • 如果它不是可执行 jar,您可能希望包含您的 jar 并启动正确的类。

希望这可以帮助!

于 2012-07-10T16:05:51.340 回答
0

这个库列表适用于我 aws-java-sdk-1.11.285-javadoc.jar aws-java-sdk-1.11.285-sources.jar aws-java-sdk-1.11.285.jar aws-java-sdk。罐

aspectjrt-1.8.2.jar
aspectjweaver.jar
aws-swf-build-tools-1.1.jar
commons-codec-1.9.jar
commons-logging-1.1.3.jar
freemarker-2.3.9.jar
httpclient-4.5.2.jar
httpcore-4.4.4.jar
ion-java-1.0.2.jar
jackson-annotations-2.6.0.jarÅ
jackson-core-2.6.7.jar
jackson-databind-2.6.7.1.jar
jackson-dataformat-cbor-2.6.7.jar
javax.mail-api-1.4.6.jar
jmespath-java-1.11.285.jar
joda-time-2.8.1.jar
netty-buffer-4.1.17.Final.jar
netty-codec-4.1.17.Final.jar
netty-codec-http-4.1.17.Final.jar
netty-common-4.1.17.Final.jar
netty-handler-4.1.17.Final.jar
netty-resolver-4.1.17.Final.jar
netty-transport-4.1.17.Final.jar
spring-beans-3.0.7.RELEASE.jar
spring-context-3.0.7.RELEASE.jar
spring-core-3.0.7.RELEASE.jar
spring-test-3.0.7.RELEASE.jar
于 2019-01-06T06:01:11.040 回答