Как создать пакет развертывания zip для AWS Lambda со всеми скомпилированными файлами классов и файлами ресурсов на корневом уровне с помощью Maven? - PullRequest
2 голосов
/ 10 апреля 2019

Я пытаюсь создать пакет развертывания для AWS Lambda с Java.Мы использовали maven-shade-plugin для создания Uber JAR.Однако я видел, что в рекомендациях AWS Lambda в разделе в разделе Function Code упоминается, что

Сокращает время, необходимое Lambda для распаковки пакетов развертывания, созданных в Java, путем установкиваши зависимости .jar файлы в отдельном каталоге / lib.Это быстрее, чем поместить весь код вашей функции в один jar-файл с большим количеством файлов .class.

Так что мне кажется, что создание пакета zip-развертывания может сократить время холодного запуска.Перейдя по этой ссылке , я мог бы сказать, что требования для развертывания zip:

Все скомпилированные файлы классов и файлы ресурсов на корневом уровне.
Все необходимые файлы jar длязапустите код в каталоге / lib.

Однако я не могу создать такой zip-файл с Maven.Я попытался настроить maven-assembly-plugin, следуя упомянутым шагам здесь

Полученный zip-файл в основном содержит мой jar на корневом уровне, а не файлы .class, как упомянуто в передовой практике.

Правильно ли я понимаю это предположение о наилучшей практике или кто-нибудь может сказать мне, как этого добиться с помощью Maven?

1 Ответ

0 голосов
/ 10 апреля 2019

В указанном разделе не сказано, что вы должны загружать .class файлы. Это просто говорит о том, что вы должны отделить зависимости от вашего собственного jar. Это то, что делает плагин сборки.

...