我运行命令 mvn -e azure-functions:run 并收到以下错误。我已经从该站点安装了 Azure Functions Core Tools。我需要做什么才能运行 mvn azure-functions:run 成功。
[错误] 无法在项目 hello 上执行目标 com.microsoft.azure:azure-functions-maven-plugin:1.22.0:run (default-cli):找不到 Azure Functions Core Tools。请先前往 https://aka.ms/azfunc-install 安装 Azure Functions Core Tools。 -> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目 hello 上执行目标 com.microsoft.azure:azure-functions-maven-plugin:1.22.0:run (default-cli):找不到 Azure Functions Core Tools。请先前往 https://aka.ms/azfunc-install 安装 Azure Functions Core Tools。 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (M
需要运行 mvn -e azure-functions: 运行成功但遇到如下错误。我还在本地安装了 Azure Function 工具。
[错误] 无法在项目 hello 上执行目标 com.microsoft.azure:azure-functions-maven-plugin:1.22.0:run (default-cli):找不到 Azure Functions Core Tools。请先前往 https://aka.ms/azfunc-install 安装 Azure Functions Core Tools。 -> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目 hello 上执行目标 com.microsoft.azure:azure-functions-maven-plugin:1.22.0:run (default-cli):找不到 Azure Functions Core Tools。请先前往 https://aka.ms/azfunc-install 安装 Azure Functions Core Tools。
除了我的评论之外,我还通过从此文档安装 Azure Functions Core Tools 解决了该问题,如下图所示。
我使用 Java 中的 HTTP 触发函数尝试了下面的示例代码。
代码:
Function.java:
package com.function;
import com.microsoft.azure.functions.ExecutionContext;
import com.microsoft.azure.functions.HttpMethod;
import com.microsoft.azure.functions.HttpRequestMessage;
import com.microsoft.azure.functions.HttpResponseMessage;
import com.microsoft.azure.functions.HttpStatus;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.annotation.HttpTrigger;
import java.util.Optional;
public class Function {
@FunctionName("HttpExample")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET, HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger ran successfully.");
final String query = request.getQueryParameters().get("name");
final String name = request.getBody().orElse(query);
if (name == null) {
return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("Provide a name to get request").build();
} else {
return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name).build();
}
}
}
local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<storage_conne>",
"FUNCTIONS_WORKER_RUNTIME": "java"
}
}
运行命令:
mvn clean package
mvn -e azure-functions:run
(or)
mvn azure-functions:run
输出:
以下Java中的HTTP触发函数运行成功,如下图:
浏览器输出: