Reputation: 318
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!
Upvotes: 0
Views: 236
Reputation: 318
I was doing sbt package
which generates a skinny jar file. I should do sbt assembly
and then it works for me.
Upvotes: 1