Deploy a Spring Boot Application to AWS Lambda with an API Gateway
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>lambda-package</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<!-- copy runtime dependencies with some exclusions -->
<fileSet>
<directory>${project.build.directory}${file.separator}lib</directory>
<outputDirectory>lib</outputDirectory>
<excludes>
<exclude>tomcat-embed*</exclude>
</excludes>
</fileSet>
<!-- copy all classes -->
<fileSet>
<directory>${project.build.directory}${file.separator}classes</directory>
<includes>
<include>**</include>
</includes>
<outputDirectory>${file.separator}</outputDirectory>
</fileSet>
</fileSets>
</assembly>
進入 Maven 官方網站
下載 Binary zip archive(apache-maven-3.9.9-bin.zip),因為這是 Windows 版本的二進制執行檔
確保解壓縮後的目錄結構如下:
環境變數設置 win + r + sysdm.cpl
進入你的專案目錄重新執行 Maven
mvn clean package
# 會看到 java-lambda-1.0-SNAPSHOT-lambda-package.zip
ls target
Directory: D:\workspace3\java-lambda\target
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/5/2025 3:54 PM archive-tmp
d----- 2/5/2025 3:54 PM classes
d----- 2/5/2025 3:54 PM generated-sources
d----- 2/5/2025 3:54 PM generated-test-sources
d----- 2/5/2025 3:54 PM lib
d----- 2/5/2025 3:54 PM maven-status
d----- 2/5/2025 3:54 PM surefire-reports
d----- 2/5/2025 3:54 PM test-classes
-a---- 2/5/2025 3:54 PM 15245005 java-lambda-1.0-SNAPSHOT-lambda-package.zip