AWS Lambda无法找到依赖库

时间:2017-10-09 19:21:33

标签: java maven amazon-web-services aws-lambda

这是我第一次部署到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”:“加载类时出错   }

如何重新配置​​它以便找到所有必需的文件?

感谢任何和所有帮助!

2 个答案:

答案 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的内容,它可以很好地解决所有问题并解决问题。