IntelliJ IDEA 配置无法在默认 'helloworld' 应用程序中找到 AWS Lambda 处理程序
IntelliJ IDEA Config cant find AWS Lambda Handler in Default 'helloworld' Application
为默认 IntelliJ IDEA Java helloworld 应用程序(创建新的 AWS Lambda 项目时创建)设置调试配置时,显示以下响应:
Error: Cannot find handler 'helloworld.App::handleRequest' in project."
为了解决这个问题,我尝试编辑 template.yaml 中的 'Handler' 元素以包含文件路径,但没有成功。
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.App::handleRequest
我注意到 Python AWS Lambda helloworld 项目(在 PyCharm 对应项目中)要求我更改根项目文件夹(允许找到处理程序),但是,我似乎无法使用 IntelliJ 中的 Java 对应项实现此目的。
默认工程文件结构如下:
bash
├── README.mdH
├── HelloWorldFunction
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── helloworld
│ │ ├── App.java
│ │ └── GatewayResponse.java
│ └── test
│ └── java
│ └── helloworld
│ └── AppTest.java
└── template.yaml
template.yaml 文件的相关部分包含:
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.App::handleRequest
Runtime: java8
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
App.java 文件包含 class
public class App implements RequestHandler<Object, Object> {
...
}
我希望调试配置指向正确的处理程序("helloworld.App::handleRequest"),这样我就可以 运行 我本地机器上的项目。
在项目文件上,右键单击 HelloWorldFunction
,然后找到 Mark directory as
并选择 Source Root
。那应该可以解决您的问题。
为默认 IntelliJ IDEA Java helloworld 应用程序(创建新的 AWS Lambda 项目时创建)设置调试配置时,显示以下响应:
Error: Cannot find handler 'helloworld.App::handleRequest' in project."
为了解决这个问题,我尝试编辑 template.yaml 中的 'Handler' 元素以包含文件路径,但没有成功。
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.App::handleRequest
我注意到 Python AWS Lambda helloworld 项目(在 PyCharm 对应项目中)要求我更改根项目文件夹(允许找到处理程序),但是,我似乎无法使用 IntelliJ 中的 Java 对应项实现此目的。
默认工程文件结构如下:
bash
├── README.mdH
├── HelloWorldFunction
│ ├── pom.xml
│ └── src
│ ├── main
│ │ └── java
│ │ └── helloworld
│ │ ├── App.java
│ │ └── GatewayResponse.java
│ └── test
│ └── java
│ └── helloworld
│ └── AppTest.java
└── template.yaml
template.yaml 文件的相关部分包含:
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: HelloWorldFunction
Handler: helloworld.App::handleRequest
Runtime: java8
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
App.java 文件包含 class
public class App implements RequestHandler<Object, Object> {
...
}
我希望调试配置指向正确的处理程序("helloworld.App::handleRequest"),这样我就可以 运行 我本地机器上的项目。
在项目文件上,右键单击 HelloWorldFunction
,然后找到 Mark directory as
并选择 Source Root
。那应该可以解决您的问题。