Come posso risolvere l'errore "java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper" in CloudFormation?
Quando provo a richiamare il mio provider di risorse in AWS CloudFormation, ricevo il seguente errore: "java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper"
Breve descrizione
Quando sviluppi o testi un file schema del provider di risorse, viene visualizzato l'errore "java.lang.ClassNotFoundException: com.example.package.resource.HandlerWrapper". È possibile richiamare cfn test o sam local invoke, ma la directory /target/ del progetto non contiene un file .jar valido.
Per altri errori correlati all'utilizzo di un provider di risorse, consulta i seguenti articoli:
- Come posso risolvere l'errore "Specifica della risorsa non valida" quando eseguo il comando cfn generate utilizzando la CLI di CloudFormation in CloudFormation?
- Come posso risolvere l'errore "Convalida del modello non riuscita (#: chiave estranea [Key] non consentita)" in CloudFormation?
- Come posso risolvere l'errore "Timeout risorsa in attesa della creazione di una risorsa fisica" quando creo una risorsa utilizzando il mio tipo di provider di risorse in CloudFormation?
- Come posso risolvere l'errore "L'attributo 'Chiave' non esiste" quando utilizzo la funzione Fn::GetAtt sulla mia risorsa del provider di risorse in CloudFormation?
Soluzione
Per impostazione predefinita, il nome del file .jar è nel formato organization-service-resource-handler-1.0-SNAPSHOT.jar ed è configurato nel file pom.xml nella directory principale del progetto. Ad esempio:
<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>
Per creare il progetto, esegui cfn generate. Quindi, esegui mvn package. Ad esempio:
$ 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: se la creazione e i test hanno esito positivo, mvn crea il file necessary**.jar** nella directory /target/.
Per saltare i test per gli unit test non completi, esegui mvn -Dmaven.test.skip=true package invece di 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] ------------------------------------------------------------------------
**Suggerimento:**puoi risolvere i test accedendo alla directory /target/surefire-reports dalla directory principale del progetto.
Informazioni correlate
CLI di AWS CloudFormation (dal sito web di GitHub)
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 mesi fa