ошибка сервера с aws - kotlin -jvm-gradle - PullRequest
0 голосов
/ 18 февраля 2020

Я сейчас создаю свой первый kotlin проект с использованием безсерверного и локального стека.

Этот проект создан с использованием безсерверного шаблона sls create -t aws-kotlin-jvm-gradle. Вот дерево проекта.

project
└application
 docker-compose.yml (for installing localstack)
 └lambda
  └test
   (main kotlin files)
   serverless.yml
   gradlew

И здесь я успешно развернул образец приветственного кода в localstack.

Serverless: Stack update finished...
Service Information
service: xxx
stage: local
region: us-east-1
stack: xxx-local
resources: 11
api keys:
  None
endpoints:
  http://localhost:4567/restapis/04dyi9dgl1/local/_user_request_
functions:
  hello: xxx-local-hello
layers:
  None
Serverless: Run the "serverless" command to setup monitoring, troubleshooting and testing.

Но, выполнив sls invoke --function hello, я получил ошибку ниже:

Serverless: Using serverless-localstack
Serverless: Warning: Unable to find plugin named: TypeScriptPlugin
Serverless: Recoverable error occurred (Error executing Lambda function arn:aws:lambda:us-east-1:000000000000:function:xxx-local-hello: Lambda process returned error status code: 1. Result: . Output:
Error: Could not find or load main class cloud.localstack.LambdaExecutor
Caused by: java.lang.ClassNotFoundException: cloud.localstack.LambdaExecutor Traceback (most recent call last):
  File "/opt/code/localstack/localstack/services/awslambda/lambda_api.py", line 380, in run_lambda
    event, context=context, version=version, asynchronous=asynchronous)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 116, in execute
    return do_execute()
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 101, in do_execute
    raise e
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 90, in do_execute
    result, log_output = self._execute(func_arn, func_details, event, context, version)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 235, in _execute
    result, log_output = self.run_lambda_executor(cmd, stdin, environment)
  File "/opt/code/localstack/localstack/services/awslambda/lambda_executors.py", line 153, in run_lambda_executor
    (return_code, result, log_output))
Exception: Lambda process returned error status code: 1. Result: . Output:
Error: Could not find or load main class cloud.localstack.LambdaExecutor
Caused by: java.lang.ClassNotFoundException: cloud.localstack.LambdaExecutor
)

Кажется, что сервер не может найти LambdaExecutor класс, но я не знаю, что для этого сделать.

Может кто-нибудь помочь мне с решением этой ошибки?

...