Java 如何在microsoft Azure上安装maven(应用程序服务)

Java 如何在microsoft Azure上安装maven(应用程序服务),java,maven,azure,azure-web-app-service,azure-deployment,Java,Maven,Azure,Azure Web App Service,Azure Deployment,我有一个应用程序服务,托管在Azure上 我们服务的代码在bitbucket上,它是一个基于maven的Java项目。开发人员部署WAR文件所采用的过程是在本地构建WAR文件并将其FTP到Azure,这显然是不推荐的 假设我没有足够的自由和资源来托管像Jenkins这样的CI工具,我正在尝试做以下工作: 通过在Azure中使用“部署选项”,将代码从bitbucket.org同步到Azure。每次我进行git推送时,Azure都会自动从指定的分支获取代码,并复制/更新/删除修改后的文件(默认情况下

我有一个应用程序服务,托管在Azure上

我们服务的代码在bitbucket上,它是一个基于maven的Java项目。开发人员部署WAR文件所采用的过程是在本地构建WAR文件并将其FTP到Azure,这显然是不推荐的

假设我没有足够的自由和资源来托管像Jenkins这样的CI工具,我正在尝试做以下工作:

  • 通过在Azure中使用“部署选项”,将代码从bitbucket.org同步到Azure。每次我进行git推送时,Azure都会自动从指定的分支获取代码,并复制/更新/删除修改后的文件(默认情况下将其置于wwwroot下)

  • 我想在Azure中修改deployment.cmd文件,以便在发布#1时添加自定义步骤

  • 我被困在哪里了

  • 我在
    D:\home\maven
    文件夹下FTPed了maven并解压了maven。我使用XDT文件(附件)设置了正确的环境变量。但是,当我使用mvn-version时,会出现以下错误:
  • java.lang.NoClassDefFoundError: org/apache/maven/exception/ExceptionHandler

    。。 .. 由ClassNotFound引起

    我手边没有完整的痕迹。这个类在maven core中,在lib文件夹下(我验证过)

    可能是因为权限问题吗?云对我来说是多云的

  • 在我完成这项工作后,我需要将自定义步骤添加到deployment.cmd。是否有我需要使用的特定语言或windows命令 环境变量的XDT文件内容(
    JAVA\u HOME
    已设置)

    
    

    我试图重现这个问题,但失败了。根据的kudu wiki页面,环境变量似乎不支持在当前环境变量之上定义的相互引用

    因此,请在我对Azure Web App Java实例进行测试后,更改XDT文件内容,如下所示

    <?xml version="1.0"?> 
    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
      <system.webServer> 
        <runtime xdt:Transform="InsertIfMissing">
          <environmentVariables xdt:Transform="InsertIfMissing">
            <add name="M2_HOME" value="D:\home\maven\apache-maven-3.3.9" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
            <add name="MAVEN_HOME" value="D:\home\maven\apache-maven-3.3.9" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
            <add name="PATH" value="%PATH%;D:\home\maven\apache-maven-3.3.9\bin" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
          </environmentVariables>
        </runtime> 
      </system.webServer> 
    </configuration> 
    
    
    
    然后我在Kudu CMD工具上运行命令
    mvn-version
    ,它运行得很好

    <?xml version="1.0"?> 
    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
      <system.webServer> 
        <runtime xdt:Transform="InsertIfMissing">
          <environmentVariables xdt:Transform="InsertIfMissing">
            <add name="M2_HOME" value="D:\home\maven\apache-maven-3.3.9" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
            <add name="MAVEN_HOME" value="D:\home\maven\apache-maven-3.3.9" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
            <add name="PATH" value="%PATH%;D:\home\maven\apache-maven-3.3.9\bin" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />    
          </environmentVariables>
        </runtime> 
      </system.webServer> 
    </configuration>