期间发生内部错误:将代码上传到 lambda

Raj*_*oni 6 eclipse eclipse-plugin amazon-web-services aws-lambda

将代码上传到 lambda 时抛出此异常。我试过了,但没有找到解决方案。

java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at com.amazonaws.util.Md5Utils.md5AsBase64(Md5Utils.java:104)
    at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1647)
    at com.amazonaws.eclipse.lambda.upload.wizard.util.UploadFunctionUtil.performFunctionUpload(UploadFunctionUtil.java:95)
    at com.amazonaws.eclipse.lambda.upload.wizard.UploadFunctionWizard.doFinish(UploadFunctionWizard.java:111)
    at com.amazonaws.eclipse.core.plugin.AbstractAwsJobWizard$1.run(AbstractAwsJobWizard.java:35)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException cannot be found by com.amazonaws.eclipse.javasdk_1.11.248
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 6 more
Run Code Online (Sandbox Code Playgroud)

dal*_*ers 7

确保 Eclipse 使用 Java 8 运行。AWS Toolkit 需要 JAXB 才能上传到 AWS S3,但 JAXB 在 Java 9 和 10 中已弃用,并从 Java 11 中删除。如果您在 Java 9、10 或 11 下运行 Eclipse , Eclipse/AWS Toolkit 将找不到 JAXB,您将收到此错误。

您可以通过指定 Eclipse 应在启动时使用的 JVM 来解决该问题。在此处找到各种平台的说明:https : //wiki.eclipse.org/Eclipse.ini