Ich habe AWS Lambda-Funktion erstellt und jetzt versuche ich, die Bereitstellung auf AWS einzurichten. Ich habe buildspec.yml Datei mit folgendem Inhalt erstellt:AWS CodeBuild konnte kein fettes Glas erstellen
version: 0.1
phases:
build:
commands:
- echo Entering build phase...
- echo Build started on `date`
- mvn package shade:shade
- mv target/classes/* .
- rm -rf target src buildspec.yml pom.xml
- aws cloudformation package --template template.json --s3-bucket $S3_BUCKET --output-template template-export.json
artifacts:
type: zip
files:
- template-export.json
Nun, wenn ich meinen Code AWS CodeCommit schieben, baut Prozess erfolgreich ausgeführt wird, aber in s3 bucket Ausgang gibt es Ausgabedatei von nur 130 kb. Das bedeutet, dass meine Abhängigkeiten von erstellte Paket fehlt, und wenn ich meine Lambda versuchen läuft Ich habe folgende Fehlermeldung:
Error loading class com.test.handler: org/apache/log4j/Logger: class java.lang.NoClassDefFoundError
In meiner pom.xml-Datei hinzugefügt ich Schatten Plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Als ich run command mvn package
auf meinem PC ist alles in Ordnung, und ich bekomme JAR-Datei mit allen meinen Abhängigkeiten (Größe ist etwas mehr als 10 MB) und wenn ich dieses Jar zu AWS Lambda-Funktion manuell bereitstellen, funktioniert alles wie erwartet.
Ich habe auch versucht, dieses Tutorial zu folgen: Link, aber nichts geändert.
Kann jemand bitte helfen, ich weiß wirklich nicht, was ich hier fehlt:/
Was sagen Sie Ihren Build-Protokolle? Unterscheiden sie sich von den Protokollen auf Ihrem PC? – Unsigned
Ich habe eine Lösung für das Problem gefunden. Es scheint, dass die Datei buildspec.yml (die von AWS CodeStar automatisch generiert wird) ungültig ist. Mehr hier: https://forums.aws.amazon.com/thread.jspa?threadID=255273 – newbie