Amazon web services 运行AWS SES示例时出错
我试图在这里运行示例程序 这是命令输出Amazon web services 运行AWS SES示例时出错,amazon-web-services,Amazon Web Services,我试图在这里运行示例程序 这是命令输出 $ java AmazonSESSample -cp "javamail-1.4.3/mail.jar" java.lang.NoClassDefFoundError: javax/mail/Address at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:
$ java AmazonSESSample -cp "javamail-1.4.3/mail.jar"
java.lang.NoClassDefFoundError: javax/mail/Address
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
atsun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: javax.mail.Address
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"
我试图用这个搜索字符串搜索答案
search string = java mail.jar "Error: A JNI error has occurred, please check your installation and try again"
我在搜索结果中没有看到任何有用的内容:-(
有什么想法吗
我认为找不到您指出的JAR文件(javamail-1.4.3/mail.JAR
)
java AmazonSESSample -cp "javamail-1.4.3/mail.jar"
尝试提供如下所示的完整路径(以下仅为示例)
更新:在Windows上尝试以下操作
java AmazonSESSample -classpath "C:\Users\MichaelDocuments\GitHub\guesstimate\scratch\javamail-1.4.3\mail.jar"
好的,所以答案是classpath选项在主类之后。所以-cp和jar值作为'args'传递给'main'方法-doh!!!!!!!!!!!!!! 只需按如下所示移动此选项,即可加载jar并按预期找到该类。。 这个令人沮丧的谜题的一个有用结果是,我发现了“-verbose:class”,我相信它对将来的其他问题也很有用:)
谢谢你的建议。我将尝试看看是否有一个完全限定的路径修复了这个错误。$java AmazonSESSample-cp.c:\Users\MichaelDocuments\GitHub\gustimate\scratch\javamail-1.4.3\mail.jar“java.lang.NoClassDefFoundError:javax/mail/Address…java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于java.lang.ClassLoader.loader.loadClass(ClassLoader.java:424)在sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)在java.lang.ClassLoader.loadClass(ClassLoader.java:357)…7更多错误:发生了JNI错误,请检查您的安装并在线程“main”中重试异常哎呀!我试图完全限定这个罐子,但似乎没有改进。在“c:\”前面的“.”是什么?删除:)同样的结果。
java AmazonSESSample -classpath "C:\Users\MichaelDocuments\GitHub\guesstimate\scratch\javamail-1.4.3\mail.jar"
$ java -verbose:class -cp '.;mail.jar' AmazonSESSample | grep Session
[Loaded javax.mail.Session from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
[Loaded javax.mail.Session$1 from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
[Loaded javax.mail.Session$3 from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
[Loaded javax.mail.Session$5 from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
[Loaded javax.mail.Session$4 from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
[Loaded javax.mail.Session$2 from file:/C:/Users/Michael/Documents/GitHub/guesstimate/scratch/mail.jar]
Michael@mikeToshSpare /cygdrive/c/Users/Michael/Documents/GitHub/guesstimate/scratch
$ java -verbose:class AmazonSESSample -cp '.;mail.jar' | grep Session
Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Session
at AmazonSESSample.main(AmazonSESSample.java:56)
Caused by: java.lang.ClassNotFoundException: javax.mail.Session
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more