J'ai créé la fonction AWS Lambda et j'essaie maintenant de configurer le déploiement sur AWS. J'ai créé le fichier buildspec.yml avec le contenu suivant:AWS CodeBuild n'a pas pu créer le fichier Fat Jar
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
Maintenant, quand je pousse mon code à AWS CodeCommit, processus de construction est exécuté avec succès, mais dans un seau de sortie s3 il y a fichier de sortie de seulement 130 kb. Cela signifie que mes dépendances sont absents du paquet créé, et quand j'essayer d'exécuter mon Lambda je me suis erreur suivant:
Error loading class com.test.handler: org/apache/log4j/Logger: class java.lang.NoClassDefFoundError
Dans mon fichier pom.xml j'ai ajouté plugin ombre:
<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>
Quand je exécuter la commande mvn package
sur mon PC tout est OK et j'obtiens le fichier jar contenant toutes mes dépendances (la taille est un peu plus de 10mb) et si je déploie manuellement ce jar à la fonction AWS lambda tout fonctionne comme prévu.
J'ai également essayé de suivre ce tutoriel: Link, mais rien n'a changé.
Quelqu'un peut-il s'il vous plaît aider, je ne sais vraiment pas ce que je suis absent ici:/
Qu'est-ce que votre construction disent les journaux? Sont-ils différents des journaux sur votre PC? – Unsigned
J'ai trouvé une solution au problème. Il semble que le fichier buildspec.yml (généré automatiquement par AWS CodeStar) n'est pas valide. Plus ici: https://forums.aws.amazon.com/thread.jspa?threadID=255273 – newbie