¿Cómo puedo resolver el error «java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper» en CloudFormation?

3 minutos de lectura
0

Cuando intento invocar a mi proveedor de recursos en AWS CloudFormation, aparece el siguiente error: «java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper»

Breve descripción

Aparece el error «java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper» al desarrollar o probar un archivo de esquema del proveedor de recursos. Llama a cfn test o sam local invoke, pero el directorio /target/ de su proyecto no contiene un archivo**.jar** válido.

Para ver otros errores relacionados con el uso de un proveedor de recursos, consulte los siguientes artículos:

Resolución

De forma predeterminada, el nombre del archivo .jar está en formato organization-service-resource-handler-1.0-SNAPSHOT.jar y está configurado en el archivo pom.xml del directorio raíz del proyecto. Por ejemplo:

<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>

Para crear su proyecto, ejecute cfn generate. A continuación, ejecute el paquete mvn. Por ejemplo:

$ 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] ------------------------------------------------------------------------

Nota: Si la compilación y las pruebas se realizan correctamente, mvn crea el archivo**.jar** necesario en el directorio /target/.

Para omitir las pruebas unitarias que no estén completas, ejecute el paquete mvn -Dmaven.test.skip=true en lugar del paquete mvn.

$ 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] ------------------------------------------------------------------------

Consejo: Para solucionar los problemas de las pruebas, vaya al directorio /target/surefire-reports desde el directorio raíz del proyecto.


Información relacionada

CLI de AWS CloudFormation (del sitio web de GitHub)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años