Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

548
Vistas
java.lang.ClassNotFoundException while referencing Lambda code in AWS CDK code

I am new to AWS CDK.

Problem: I'm trying to reference my lambda code into CDK code but it throws java.lang.ClassNotFoundException when I try to test it on AWS Lambda Console.

I have added some code for reference. The classes are present in same package.

LambdaFunctionHandler class :

Lambda Code:

package com.myorg;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class LambdaFunctionHandler implements RequestHandler<String, String> {

    public String handleRequest(String event, Context context) {
        context.getLogger().log("Received event: " + event);
        return "Hello from lambda "+event;

    }

}

CDK code:

package com.myorg;

import software.amazon.awscdk.core.Construct;
import software.amazon.awscdk.core.Stack;
import software.amazon.awscdk.core.StackProps;
import software.amazon.awscdk.services.lambda.Code;
import software.amazon.awscdk.services.lambda.Function;
import software.amazon.awscdk.services.lambda.Runtime;

public class CdkProjectStack extends Stack {
    public CdkProjectStack(final Construct scope, final String id) {
        this(scope, id, null);
    }

    public CdkProjectStack(final Construct scope, final String id, final StackProps props) {
        super(scope, id, props);

        // The code that defines your stack goes here
        final Function hello = Function.Builder.create(this, "HelloHandler")
                .runtime(Runtime.JAVA_8)   
                .code(Code.fromAsset("src/main/java/com/myorg"))  
                .handler("com.myorg.LambdaFunctionHandler::handleRequest")        
                .build();
    }
}

Error Log:

START RequestId: 0fdf618c-1bfb-4905-9283-f6b4e34a6585 Version: $LATEST
Class not found: com.myorg.LambdaFunctionHandler: java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: com.myorg.LambdaFunctionHandler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
9 months ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

It worked after creating a Deployment Package.

9 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos