这是我第一次部署到AWS Lambda并且遇到了一些问题。
我有一个名为Helpers
的大型maven项目,它有许多子模块,其中许多是相互依赖的。在那里,我有一个叫做Alerts
的助手。我有一个父目录,所有内容都构建和编译成功。所以,这很好。
在警报中,有一个名为PaymentAlerts
的类,其中包含
import com.mywebsite.messages.Doers
其中messages.Doers位于依赖项中。
但是,当我在整个项目中执行mvn package
并找到alerts-1.0.jar
并将其上传到AWS Lambda并将我的处理程序设置为com.mywebsite.alerts.PaymentAlerts::doAlert
时出现以下错误:< / p>
{
com.mywebsite.alerts.PaymentAlerts:com / mywebsite / messaging / Doers“,
“errorType”:“java.lang.NoClassDefFoundError”
“errorMessage”:“加载类时出错 }
如何重新配置它以便找到所有必需的文件?
感谢任何和所有帮助!
答案 0 :(得分:1)
AWS Lambda无法找到依赖库
除了mvn之外,您可以通过将所有jar放在一个中来实现简单的库依赖,其中 MANIFEST 文件包含 Class-Path :libs / xyz.jar libs /abc.jar ...
希望这个过程可以解决你的&#34; errorType&#34;:&#34; java.lang.NoClassDefFoundError&#34;
答案 1 :(得分:0)
从here我能够找到关于maven-shade-plugin的内容,它可以很好地解决所有问题并解决问题。