使用 maven 通过 SpringBoot 运行 Azure Functions 时出现问题

问题描述 投票:0回答:1

Facing error when running Maven

我运行命令 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。

spring-boot azure azure-functions
1个回答
0
投票

除了我的评论之外,我还通过从此文档安装 Azure Functions Core Tools 解决了该问题,如下图所示。

enter image description here

我使用 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触发函数运行成功,如下图:

enter image description here

浏览器输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.