0

I am trying to deploy with serverless a scala project on AWS lambda. I have followed the tutorial and used this template. After I deploy to AWS and trying to invoke the function, I am receiving this error

START RequestId: e07358e6-dd11-4f58-a59e-fd080dd257c6 Version: $LATEST
Exception in thread "main" java.lang.Error: java.lang.NoClassDefFoundError: scala/Product
    at lambdainternal.AWSLambda.<clinit>(AWSLambda.java:66)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:114)
Caused by: java.lang.NoClassDefFoundError: scala/Product
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    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)
    at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
    at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
    at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
    at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
    at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:108)
    at java.lang.Class.getGenericInterfaces(Class.java:913)
    at lambdainternal.EventHandlerLoader.findInterfaceParameters(EventHandlerLoader.java:475)
    at lambdainternal.EventHandlerLoader.wrapRequestHandlerClass(EventHandlerLoader.java:513)
    at lambdainternal.EventHandlerLoader.loadStreamingRequestHandler(EventHandlerLoader.java:571)
    at lambdainternal.EventHandlerLoader.loadEventHandler(EventHandlerLoader.java:580)
    at lambdainternal.AWSLambda.findUserMethods(AWSLambda.java:115)
    at lambdainternal.AWSLambda.startRuntime(AWSLambda.java:286)
    at lambdainternal.AWSLambda.<clinit>(AWSLambda.java:64)
    ... 3 more
Caused by: java.lang.ClassNotFoundException: scala.Product
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 31 more
END RequestId: e07358e6-dd11-4f58-a59e-fd080dd257c6
REPORT RequestId: e07358e6-dd11-4f58-a59e-fd080dd257c6  Duration: 49.35 ms  Billed Duration: 100 ms Memory Size: 1024 MB    Max Memory Used: 25 MB  
RequestId: e07358e6-dd11-4f58-a59e-fd080dd257c6 Process exited before completing request

I am new to serverless and I have no idea how I can address this. Any help is appreciated!

3
  • 3
    You need to deploy an assembly jar including all dependencies (w/ scala-library) Commented Sep 24, 2019 at 22:33
  • How are you deploying your serverless template (ex: using aws cli or some ide with aws toolkit installed) Commented Sep 25, 2019 at 4:10
  • Thanks guys. I was doing sbt package which generates a skinny jar file. I should do sbt assembly and then it works for me. Commented Sep 25, 2019 at 15:30

1 Answer 1

1

I was doing sbt package which generates a skinny jar file. I should do sbt assembly and then it works for me.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.