tfsbuild扩展不适用于maven构建

时间:2014-02-20 13:37:44

标签: eclipse maven visual-studio-2012 msbuild

我安装了以下内容;

microsoft visual team foundation server 2012在tfs 2012构建服务器上构建扩展(http://visualstudiogallery.msdn.microsoft.com/45b4e378-5b81-4186-9b7f-21cc5c2f743d

Java Dev Kit 6 update 45

Maven 3.1.1

2012年服务器配置:

Windows 2012 Standart 64位计算机。我们使用NTLM身份验证和代理。

我定义了以下配置:

环境设置:

JAVA_HOME     C:\Program Files\Java\jdk1.6.0_45

M2            %M2_HOME%\bin

M2_HOME       C:\Program Files\Apache Software Foundation\apache-maven-3.1.1

路径:

  %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;%TFSPowerToolDir%;%BPADir%;%M2%;%JAVA_HOME%\bin

maven settings.xml:

<settings>
<proxies>
<proxy>   
  <active>true</active>
  <protocol>http</protocol>
  <host>proxy.xxx.entp</host>
  <port>8080</port>
  <username>myuser</username>
  <password>mypassword</password>
  <nonProxyHosts>*.xxx.entp|localhost</nonProxyHosts>
</proxy>
</proxies>
</settings>

在我的客户端计算机(http://www.microsoft.com/en-us/download/details.aspx?id=30661)上为团队基础服务器安装Eclipse和团队资源管理器后,我使用select pom文件定义了maven构建

在Windows命令提示符下使用“mvn assembly:assembly -P prod”命令成功完成了Maven构建。但是在运行时不能运行构建定义。我添加了maven环境变量,但是tfs build没有找到maven home,bin目录,启动目录。为什么?或者任何方式?

输出构建日志:

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets - 4个错误,1个警告,查看日志文件

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets(238):在MavenHome中找不到bin目录。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets(238):在MavenHome中找不到启动目录。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets(238):对象引用未设置为对象的实例。    在System.Activities.WorkflowApplication.Invoke(活动活动,IDictionary 2 inputs, WorkflowInstanceExtensionManager extensions, TimeSpan timeout) at System.Activities.WorkflowInvoker.Invoke(Activity workflow, IDictionary 2输入,TimeSpan超时,WorkflowInstanceExtensionManager扩展)    在Microsoft.TeamFoundation.Build.Extensions.Tasks.WorkflowTask.Execute()

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets(238):“Maven”任务意外失败。 System.NullReferenceException:未将对象引用设置为对象的实例。    在Microsoft.TeamFoundation.Build.Extensions.Tasks.WorkflowTask.Execute()    在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()    在Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets(238):在运行过程中找不到环境变量“JAVA_HOME”,但是在用户或机器设置中找到了。您可能需要重新启动构建代理以获取新定义的环境变量。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ BuildExtensions \ Microsoft.TeamFoundation.Build.Extensions.Maven2.targets已编译

没有测试结果

无代码覆盖率结果

其他错误和警告

1个错误,0个警告

异常消息:TF270015:'MSBuild.exe'返回了意外的退出代码。预计'0';实际的'1'。有关详细信息,请参阅构建日志。 (输入UnexpectedExitCodeException) 异常堆栈跟踪:在System.Activities.Statements.Throw.Execute(CodeActivityContext context)    在System.Activities.CodeActivity.InternalExecute(ActivityInstance实例,ActivityExecutor执行器,BookmarkManager bookmarkManager)    at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager bookmarkManager,Location resultLocation)

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。显然,相关错误和解决方案打印在消息的末尾:“ 您可能需要重新启动构建代理以获取新定义的环境变量

重新启动构建代理,一切都会像魔法一样。