2017-10-09 100 views
0

這是我第一次部署到AWS Lambda,並且遇到了一些困難。AWS Lambda無法找到相關庫

我有一個名爲Helpers的大型maven項目,它有許多子模塊,其中許多子模塊相互依賴。在那裏我有一個助手叫Alerts。我有一個父目錄,一切都建立併成功編譯。所以,這很好。

在警報中,有一個名爲PaymentAlerts類具有這樣messages.Doers在依賴中發現的線

import com.mywebsite.messages.Doers

但是,當我對整個項目做一個mvn package,我覺得alerts-1.0.jar,並把它上傳到AWS Lambda和設置我的處理程序爲com.mywebsite.alerts.PaymentAlerts::doAlert我收到以下錯誤:

{

com.mywebsite.alerts.PaymentAlerts: com/mywebsite/messaging/Doers",

"errorType": "java.lang.NoClassDefFoundError"

"errorMessage": "Error loading class }

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

任何和所有的幫助表示讚賞!

回答

1

AWS Lambda can't find dependent library

除了MVN,你可以用簡單的庫依賴度將所有罐子一個,你的清單文件包含像類路徑做到:庫/ xyz.jar庫/ abc.jar .. 。

希望這一進程能解決你的「錯誤類型」:「java.lang.NoClassDefFoundError」

+0

事實證明,如果您使用'maven-shade-plugin',而不是手動執行此操作,所有事情都會爲您完成,您不必擔心。至少,它對我有用。謝謝! – LivingRobot

+0

如果它的工作,那麼爲什麼你發佈這個愚蠢的問題,堆棧溢出! – 2017-10-09 20:46:28

+0

它沒有工作。但是,在看到你的答案後,我可以找到答案。對不起,有任何問題。 – LivingRobot

0

here我能夠了解的Maven遮陽簾插件,它很好地震動一切融合在一起,並解決了這個問題。