Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Micronaut和GraalVM创建AWS Lambda函数时出现问题_Java_Docker_Aws Lambda_Micronaut_Graalvm - Fatal编程技术网

Java 使用Micronaut和GraalVM创建AWS Lambda函数时出现问题

Java 使用Micronaut和GraalVM创建AWS Lambda函数时出现问题,java,docker,aws-lambda,micronaut,graalvm,Java,Docker,Aws Lambda,Micronaut,Graalvm,我正在尝试使用Micronaut、GraalVM和Docker在Java中创建和部署AWS Lambda函数。下面我将使用GraalVM运行时创建AWS lambda 我已经使用micronaut命令创建了java项目$mn create-app-my-app-功能是aws api网关graal。然后,在不更改代码或配置文件的情况下,尝试使用GraalVM原生映像构建Docker映像。在docker build步骤中,当graalvm native image正在构建时,我收到以下警告: 警告:

我正在尝试使用Micronaut、GraalVM和Docker在Java中创建和部署AWS Lambda函数。下面我将使用GraalVM运行时创建AWS lambda

我已经使用micronaut命令创建了java项目
$mn create-app-my-app-功能是aws api网关graal
。然后,在不更改代码或配置文件的情况下,尝试使用GraalVM原生映像构建Docker映像。在docker build步骤中,当graalvm native image正在构建时,我收到以下警告:

警告:正在中止独立映像生成。中不允许有任何实例 在上初始化或重新初始化的类的映像堆 映像运行时com.amazonaws.serverless.proxy.model.ContainerConfig。 尝试使用标记此类以进行生成时初始化 --在构建时初始化=com.amazonaws.serverless.proxy.model.ContainerConfig

Detailed message:
Trace:     field io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler.config
警告:使用-H:+ReportExceptionsStackTraces打印底层的堆栈跟踪 例外情况*

警告:映像“服务器”是一个回退映像,需要JDK用于 执行(使用--no fallback来抑制回退映像生成)

构建之后,我将docker映像和引导文件导出到function.zip文件,正如在教程中编写的一样。然后,我将function.zip文件上载到我创建的AWS lambda函数中,当我尝试测试函数时,我遇到以下错误:

启动请求ID:888854d7-0e0e-42b4-a138-9a003c3455e1版本: $LATEST
错误:没有bin/java和环境变量java_HOME结束请求ID:888854d7-0e0e-42b4-a138-9a003c3455e1
报告请求ID: 888854d7-0e0e-42b4-a138-9a003c3455e1持续时间:415.09毫秒计费 持续时间:500毫秒内存大小:128 MB最大使用内存:16 MB
RequestId:888854d7-0e0e-42b4-a138-9a003c3455e1错误:运行时已退出 出现错误:退出状态1
运行时。退出错误


我不知道怎么了。我还没有找到这个问题的任何解决方案。

这个类调用
ContainerConfig
类的静态方法
defaultConfig

io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler
com.amazonaws.serverless.proxy.internal.LambdaContainerHandler
为了解决这个问题,我们需要在运行时而不是编译时初始化这些类

我对GraalVM完全陌生,目前无法解释原因

我的
本机映像
配置

native-image 
--delay-class-initialization-to-runtime=io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler,com.amazonaws.serverless.proxy.internal.LambdaContainerHandler
--no-fallback
--no-server 
-cp build/libs/yourJarName.jar
资源:

该类调用
ContainerConfig
类的静态方法
defaultConfig

io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler
com.amazonaws.serverless.proxy.internal.LambdaContainerHandler
为了解决这个问题,我们需要在运行时而不是编译时初始化这些类

我对GraalVM完全陌生,目前无法解释原因

我的
本机映像
配置

native-image 
--delay-class-initialization-to-runtime=io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler,com.amazonaws.serverless.proxy.internal.LambdaContainerHandler
--no-fallback
--no-server 
-cp build/libs/yourJarName.jar
资源:

尝试检查JAVA\u HOME是否设置在环境中您指的是什么环境?在我的Linux机器中,安装了java,并且java\u HOME设置正确。请尝试检查环境中是否设置了java\u HOME您指的是什么环境?在我的Linux机器中安装了java,并且正确设置了java_HOME。