Lambda从Eclipse部署无法工作:JAXBException

0

【以下的问题经过翻译处理】 你好,

我无法运行选项:AWS Toolkit for Eclipse -> 将函数上传到AWS Lambda,在eclipse jee-2021-09,版本:2021-09(4.21.0),构建ID:20210910-1417上。 存档是在本地驱动器上创建的,但它没有被上传;因此,jaxb问题与档案内部无关,而与某些aws-eclipse交互有关。 AWS Explorer正在工作 Eclipse错误:在“上传函数代码到Lambda”期间发生内部错误:javax/xml/bind/JAXBException 我在互联网上寻找解决方案,但它们没有起作用(似乎是jaxb的java版本弃用) 我应该从哪里获取jaxb包和依赖项(请添加链接以使用com.amazonaws.eclipse.javasdk)以及如何将它们添加到Eclipse? 完整的错误堆栈: 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:63) 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:511) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:414) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 6 more

profile picture
专家
已提问 5 个月前3 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好米海,

我了解到您在尝试使用 AWS Toolkit for Eclipse 上传 lambda 函数代码时遇到以下错误。

“在以下过程中发生内部错误:“将函数代码上传到 Lambda”:javax/xml/bind/JAXBException”

对于较新版本的 Eclipse,很可能正在使用 Java 11。 AWS Toolkit for Eclipse 先决条件需要使用 Java 1.8 (https://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/setup-install.html)。

AWS 工具包查找 JAXB 类,以便将代码上传到仅在 Java 8 中可用的 S3 存储桶。此类在 Java 9 和 10 中已弃用,并从 Java 11 中删除。

作为变通方法,您可以将 Java 1.8 与 Eclipse 一起使用。您可以通过指定 Eclipse 在启动时应使用的 JVM 来确保这一点 (https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM)。

有相关的 Github 问题,由官方 aws-toolkit-eclipse SDK 团队创建:

请随时直接联系 (aws-toolkit-eclipse) (https://github.com/aws/aws-toolkit-eclipse) 团队,以进一步了解此问题。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则