gpt4 book ai didi

java - AWS lambda JAVA : usage of external libraries

转载 作者:行者123 更新时间:2023-11-29 09:47:05 24 4
gpt4 key购买 nike

在我上传并运行我的 java .jar 文件后,我收到警告和错误。警告是:

This function contains external libraries. Uploading a new file will override these libraries.

错误是:

java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

我可以毫无问题地构建 jar,所有依赖项都在我的 pom.xml 中。我有一些正在使用的库,例如 org.json,它们也会抛出相同的 java.lang.NoClassDefFoundError 错误。我确实导入了这些类。但是我的 jar 不包含这些文件,只包含我的类。我怀疑这是相关的。真的吗?我是否需要为我正在使用的这些“外部”类找到亚马逊类替代品?我很困惑。

最佳答案

Amazon Lambda 不会为您下载依赖项。它希望您的部署文件包含运行 Lambda 函数所需的所有依赖项。您将需要切换到使用 zip 部署方法,该方法允许您包含多个 jar 文件(您的 Lambda 函数 jar 和所有依赖项 jar)。按照说明 here .

关于java - AWS lambda JAVA : usage of external libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41420512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com