使用最新的Maven Azure函数原型创建了新项目
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DarchetypeVersion=1.11
我在pom文件中使用以下标记。
<appServicePlanName>XXX2Plan</appServicePlanName>
Doc说:当您不想创建新应用服务计划时,指定现有应用服务计划的名称。
但是部署后,它创建了新的应用程序服务计划,而不是使用现有的一个,我想知道是否有人解决了它?
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.khan.vaquar</groupId>
<artifactId>vaquar-khan-demo-azure-java-function</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Azure Java Functions</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<azure.functions.maven.plugin.version>1.0.0-beta-2</azure.functions.maven.plugin.version>
<azure.functions.java.library.version>1.0.0-beta-4</azure.functions.java.library.version>
<functionAppName>vaquar-azure-java-function-demo</functionAppName>
<functionAppRegion>canadaeast</functionAppRegion>
<stagingDirectory>${project.build.directory}/azure-functions/${functionAppName}</stagingDirectory>
<functionResourceGroup>XXXXXX</functionResourceGroup>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library</artifactId>
<version>${azure.functions.java.library.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-functions-maven-plugin</artifactId>
<version>${azure.functions.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-functions-maven-plugin</artifactId>
<configuration>
<resourceGroup>${functionResourceGroup}</resourceGroup>
<appServicePlanName>XXX2Plan</appServicePlanName>
<appName>${functionAppName}</appName>
<region>${functionAppRegion}</region>
<appSettings>
<property>
<name>FUNCTIONS_EXTENSION_VERSION</name>
<value>beta</value>
</property>
</appSettings>
</configuration>
<executions>
<execution>
<id>package-functions</id>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${stagingDirectory}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<includes>
<include>host.json</include>
<include>local.settings.json</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${stagingDirectory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<includeScope>runtime</includeScope>
<excludeArtifactIds>azure-functions-java-library</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
https://docs.microsoft.com/en-us/java/api/overview/azure/maven/azure-webapp-maven-plugin/readme
解决方法:首先手动创建函数,然后使用maven部署,而不是允许maven为您创建函数。
您提到的文档是针对Azure Web应用的,而一个针对函数的文档表示只支持以下属性,包括resourceGroup/appName/区域/pricingTier/appSet/部署类型
。
我们可以看到函数插件中没有关于appServicePlanName
的代码实现,而它是在Web应用插件中实现的。
所以我假设目前不支持使用maven插件将function app部署到现有的应用服务计划中。
解决方法是首先在门户上创建新的功能应用程序,然后使用mvn插件将功能部署到此应用程序。
使现代化
确实不支持,看看这个问题。
更新2
此功能已得到1.0.0-beta-3
azure-函数-maven-plugin的支持。
需要添加
我正在使用用于Oracle12c数据库的Liquibase maven插件,但在运行update命令时出现以下错误: 我看到了与此问题相关的堆栈溢出帖子,其中建议对sqlnet.ora文件进行更改,但以下命令通过使用完全相同的changelog在命令行中工作很好: java-jar~/.m2/repository/org/liquibase/liquibase-core/3.5.3/liquiba
我找不到任何答案,也许有人知道。我试图设置maven站点和maven javadoc插件,但这似乎是不可能的。每次我运行mvn站点:run时,我都会得到这个堆栈跟踪: 而在maven网站上我得到了一堆包不存在的错误。这东西似乎根本不起作用,我尝试了各种配置。前一段时间,我也花了很多时间来尝试这件事的工作,并成功地添加了一些,但它现在不工作。我看起来不可能设置,所以我需要一些帮助,也许我错过了什么。
我需要从shade插件中排除log4j工件,以避免log4j漏洞,但是,artifactSet下的exclude标记似乎不起作用。有没有解决这个问题的建议? 我不断发现以下错误:未能执行目标组织。阿帕奇。专家插件:maven shade插件:3.2.4:shade(默认值)on project:目标组织的执行默认值。阿帕奇。专家插件:maven shade插件:3.2.4:shade失败:插件组织
当我在tomcat(apache-tomcat-8.0.33)中作为根应用程序启动它时,将资源提取到根目录中(没有使用WAR文件),应用程序无法找到我的buildnumber。 查找BuildNumber的方法如下所示: 有什么建议吗?
我正在学习创建maven插件的教程,在运行mvn install时会出现错误。信息抱怨我没有所需的mojo描述符,而注释应该为我生成它们。我正在运行Maven3.0.5并使用intellij作为我的IDE。以下是我的主要课程: 这是我的pom.xml 注意:我必须单独添加注释依赖项,因为主插件api不包含这些类。当我在我的项目上运行mvn install时,输出如下:
问题内容: 我有一个Maven的耳模。 例如,其工件ID为。Maven创建名称为Ear的归档文件,Glassfish管理面板以名称显示部署的应用程序 我想更改默认名称。我尝试了这个: 但是它只更改application.xml中的一个字符串: 我还有其他重命名应用程序的选项吗? 问题答案: 您应该使用元素: