Comment résoudre l'erreur « java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper » dans CloudFormation ?

Lecture de 3 minute(s)
0

Lorsque j'essaie d'appeler mon fournisseur de ressources dans AWS CloudFormation, je reçois le message d'erreur suivant : « java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper »

Brève description

L'erreur « java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper » s'affiche lorsque vous développez ou testez un fichier de schéma de fournisseur de ressources. Vous appelez cfn test ou sam local invoke, mais le répertoire /target/ de votre projet ne contient pas de fichier .jar valide.

Pour les autres erreurs liées à l'utilisation d'un fournisseur de ressources, consultez les articles suivants :

Solution

Par défaut, le nom du fichier .jar est au format organization-service-resource-handler-1.0-SNAPSHOT.jar et configuré dans le fichier pom.xml du répertoire racine de votre projet. Par exemple :

<groupId>com.organization.service.resource</groupId>
<artifactId>organization-service-resource-handler</artifactId>
<name>organization-service-resource-handler</name>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

Afin de construire votre projet, lancez cfn generate. Ensuite, exécutez la commande mvn package. Par exemple :

$ cfn generate
Generated files for Organization::Service::Resource
$ mvn package
[INFO] Scanning for projects...
[INFO] 
[INFO] --< software.organization.service.resource:organization-service-resource-handler >--
[INFO] Building organization-service-resource-handler 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.690 s
[INFO] Finished at: 2020-07-14T16:02:47-05:00
[INFO] ------------------------------------------------------------------------

Remarque : si la construction et les tests réussissent, mvn crée le fichier .jar nécessaire dans le répertoire /target/.

Si vos tests d'unité ne sont pas terminés et que vous voulez les passer, exécutez la commande mvn -Dmaven.test.skip=true package au lieu de mvn package.

$ cfn generate
Generated files for Organization::Service::Resource
$ mvn package -Dmaven.test.skip=true package
[INFO] Scanning for projects...
[INFO] 
[INFO] --< software.organization.service.resource:organization-service-resource-handler >--
[INFO] Building organization-service-resource-handler 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.690 s
[INFO] Finished at: 2020-07-14T16:02:47-05:00
[INFO] ------------------------------------------------------------------------

Conseil : vous pouvez résoudre les problèmes liés aux tests en accédant au répertoire /target/surefire-reports à partir du répertoire racine de votre projet.


Informations connexes

CLI AWS CloudFormation depuis le site Web GitHub (français non garanti)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans