Spring Azure 上的云函数 - 如何通过 spring.profiles.active

Spring cloud function on azure - How to pass spring.profiles.active

在使用 Maven 将 spring 云函数部署到 Azure 时,我试图在 pom.xml -

中设置“spring.profiles.active=dev”,如下所示
<plugin>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-functions-maven-plugin</artifactId>
                <version>1.14.3</version>
                <configuration>
                    <resourceGroup>${functionResourceGroup}</resourceGroup>
                    <appName>${functionAppName}</appName>
                    <runtime>
                        <os>linux</os>
                    </runtime>
                    <region>southeastasia</region>
                    <appServicePlanName>appplan</appServicePlanName>
                    <disableAppInsights>true</disableAppInsights>
                    <appSettings>
                        <property>
                            <name>JAVA_OPTS</name>
                            <value>--spring.profiles.active=${spring.profiles.active}</value>
                        </property>
                        <property>
                            <name>WEBSITE_USE_PLACEHOLDER </name>
                            <value>0</value>
                        </property>
                    </appSettings>
                </configuration>
                <executions>
                    <execution>
                        <id>package-functions</id>
                        <goals>
                            <goal>package</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

在 运行 下面两个命令之后 -

mvn clean package -Dspring.profiles.active=dev
mvn azure-functions:deploy -Dspring.profiles.active=dev

我可以看到函数已成功部署到 Azure,我可以看到 JAVA_OPTS 在 Function App >> Configuration >> Application Settings

下设置的正确值

但配置文件未正确应用,因为 属性 值未根据预期的配置文件 (dev) 读取。

这是设置 spring.profiles.active 的正确方法吗?

我们似乎应该使用“languageWorkers__java__arguments”作为应用程序设置名称而不是 JAVA_OPTS。