gpt4 book ai didi

java - 从 Eclipse 使用资源文件夹部署 AWS Lambda 函数时出现问题

转载 作者:行者123 更新时间:2023-12-01 19:29:35 24 4
gpt4 key购买 nike

我在 AWS 部署 AWS Java Lambda 函数的方式上遇到问题。我有一个 Eclipse Maven 项目,我将其作为 Lambda 函数部署到 AWS。

这是我的结构:

enter image description here

资源中,有一个表单文件夹,其中包含我需要加载的PDF文件。我可以通过以下方式在本地完成此操作:

ClassLoader classLoader = getClass().getClassLoader();
URL url = classLoader.getResource( "forms/myform.pdf" );

但是,这仅在本地有效,部署到 AWS 时无效。以下是部署到 AWS 时文件夹结构的样子。

enter image description here

因此,我必须将代码更改为以下内容才能使其正常工作。

ClassLoader classLoader = getClass().getClassLoader();
URL url = classLoader.getResource( "./resources/forms/myform.pdf" );

如何让它在本地和 AWS 中工作?在 AWS 上运行与在本地运行时,我可以拥有该位置的属性文件,但我试图避免拥有类似的东西。

为了部署到 AWS,我只是遵循他们的 documentation on deploying lambda functions with the Eclipse toolkit 。我还问了一个similar questio关于这一点,我认为这是我在本地运行它的方式的问题。但现在我发现这与它的部署方式有关。

关于如何让它在本地或 AWS 上运行有什么想法吗?有没有办法更改AWS工具包以不同的方式部署资源?

最佳答案

我发现我可以更改 Maven 项目的资源:

<resources>
<resource>
<directory>src/main</directory>
<filtering>false</filtering>
</resource>
</resources>

然后我可以在本地和 AWS 中引用相同的路径:

ClassLoader classLoader = getClass().getClassLoader();
URL url = classLoader.getResource( "./resources/forms/myform.pdf" );

关于java - 从 Eclipse 使用资源文件夹部署 AWS Lambda 函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59273407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com