我有一个在Azure上托管的应用服务。如何在微软Azure上安装maven(应用服务)
我们服务的代码位于bitbucket上,它是一个基于maven的Java项目。开发人员部署WAR文件的过程是在本地构建它们并将其FTP到Azure,这显然不被推荐。
比方说,我没有自由和资源举办像詹金斯一个CI工具,我想做到以下几点:
同步的代码bitbucket.org通过使用'到Azure部署选项“在Azure中。每次我执行git push时,Azure都会自动从指定分支中获取代码并复制/更新/删除修改的文件(并默认将它们置于wwwroot下)
我想修改deployment.cmd文件在Azure中,以便我可以在#1后添加自定义步骤。
我在哪里卡住了?
- 我已经在
D:\home\maven
文件夹下的FTP的maven和解压maven。我通过使用XDT文件(附件)设置了正确的环境变量。然而,当我做MVN -version,我得到以下错误:
java.lang.NoClassDefFoundError: org/apache/maven/exception/ExceptionHandler
.. .. caused by ClassNotFound ..
我没有完整跟踪得心应手。这个类是在lib文件夹(我已验证)下的maven-core中。
难道是因为权限?云对我来说是阴天o_O
- 当我得到这个工作后,我需要添加自定义步骤到deployment.cmd。是否有我需要使用的特定语言或Windows命令?对于ENV变量
XDT文件内容(JAVA_HOME
已设置)
<?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%%JAVA_HOME%\bin;%M2_HOME%\bin;" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</environmentVariables>
</runtime>
</system.webServer>