¿Cómo puedo resolver el error «java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper» en CloudFormation?
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:
- ¿Cómo soluciono el error «La especificación del recurso no es válida» cuando ejecuto el comando cfn generate mediante la CLI de CloudFormation en CloudFormation?
- ¿Cómo puedo resolver el error «Ha fallado la validación del modelo (#: no se permite la clave ajena [clave])» en CloudFormation?
- ¿Cómo soluciono el error «Se ha agotado el tiempo de espera para la creación del recurso físico» cuando creo un recurso con mi tipo de proveedor de recursos en CloudFormation?
- ¿Cómo soluciono el error «La “clave” del atributo no existe» cuando utilizo la función Fn::GetAtt en el recurso de mi proveedor de recursos en CloudFormation?
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)
Contenido relevante
- OFICIAL DE AWSActualizada hace 4 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 4 años