Java 从maven调用msbuild时出错
我正试图将一个项目集成到maven中,它有两个组件——客户端(用silverlight编写)和服务器(用java编写)。服务器端与maven完全兼容,但我在使用maven运行msbuild时遇到问题。我收到以下拒绝访问错误 嵌入错误:无法运行程序“C:\WINDOWS\Microsoft.NET\Framework\v4.0.3031” 9\msbuild“(在目录“C:\workspace\something\client”中):CreateProcess错误=5, 访问被拒绝 计算机:Windows XP shell:git bash和cmd pom.xml:Java 从maven调用msbuild时出错,java,maven,msbuild,maven-plugin,Java,Maven,Msbuild,Maven Plugin,我正试图将一个项目集成到maven中,它有两个组件——客户端(用silverlight编写)和服务器(用java编写)。服务器端与maven完全兼容,但我在使用maven运行msbuild时遇到问题。我收到以下拒绝访问错误 嵌入错误:无法运行程序“C:\WINDOWS\Microsoft.NET\Framework\v4.0.3031” 9\msbuild“(在目录“C:\workspace\something\client”中):CreateProcess错误=5, 访问被拒绝 计算机:Win
<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>x</groupId>
<artifactId>client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>client</name>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>${msbuild.path}</executable>
</configuration>
<executions>
<execution>
<id>clean</id>
<phase>clean</phase>
<configuration>
<arguments>
<argument>/t:Clean</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
<execution>
<id>build</id>
<phase>compile</phase>
<configuration>
<arguments>
<argument>/t:some.sln</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
4.0.0
x
客户
0.0.1-快照
聚甲醛
客户
org.codehaus.mojo
execmaven插件
${msbuild.path}
清洁的
清洁的
/t:干净
执行官
建造
编译
/t:一些
执行官
错误:
$ mvn compile -Dmsbuild.path=C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/msbu
ild -e
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building client
[INFO] task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [exec:exec {execution: build}]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Command execution failed.
Embedded error: Cannot run program "C:\WINDOWS\Microsoft.NET\Framework\v4.0.3031
9\msbuild" (in directory "c:\workspace\something\client"): CreateProcess error=5,
Access is denied
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Command execution failed
.
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:719)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution fai
led.
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:363)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
... 17 more
Caused by: java.io.IOException: Cannot run program "C:\WINDOWS\Microsoft.NET\Fra
mework\v4.0.30319\msbuild" (in directory "c:\workspace\something\client"): Create
Process error=5, Access is denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at java.lang.Runtime.exec(Runtime.java:593)
at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13Com
mandLauncher.java:58)
at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:2
54)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecut
or.java:319)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:
160)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:602)
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:348)
... 19 more
Caused by: java.io.IOException: CreateProcess error=5, Access is denied
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 26 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue Mar 27 10:33:58 CDT 2012
[INFO] Final Memory: 7M/494M
[INFO] ------------------------------------------------------------------------
$mvn compile-Dmsbuild.path=C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/msbu
ild-e
+错误堆栈跟踪已打开。
[信息]正在扫描项目。。。
[信息]------------------------------------------------------------------------
[信息]建设客户
[信息]任务段:[编译]
[信息]------------------------------------------------------------------------
[INFO][exec:exec{execution:build}]
[信息]------------------------------------------------------------------------
[错误]生成错误
[信息]------------------------------------------------------------------------
[INFO]命令执行失败。
嵌入错误:无法运行程序“C:\WINDOWS\Microsoft.NET\Framework\v4.0.3031”
9\msbuild“(在目录“c:\workspace\something\client”中):CreateProcess错误=5,
访问被拒绝
[信息]------------------------------------------------------------------------
[信息]跟踪
org.apache.maven.LifecycleExecutionException:命令执行失败
.
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:719)
位于org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:556)
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltlifecyclexecutor.java:535)
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen上
ts(DefaultLifecycleExecutor.java:348)
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
位于org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
位于org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。
爪哇:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(delegatingmethodaccess
sorImpl.java:25)
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
位于org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
位于org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
位于org.codehaus.classworlds.Launcher.main(Launcher.java:375)
原因:org.apache.maven.plugin.MojoExecutionException:命令执行fai
带路。
位于org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:363)
在org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
... 还有17个
原因:java.io.IOException:无法运行程序“C:\WINDOWS\Microsoft.NET\Fra”
mework\v4.0.30319\msbuild“(在目录“c:\workspace\something\client”中):创建
进程错误=5,访问被拒绝
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
位于java.lang.Runtime.exec(Runtime.java:593)
位于org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13Com
java:58)
在org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:2
54)
位于org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecut
或。java:319)
在org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:
160)
位于org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:602)
位于org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:348)
... 还有19个
原因:java.io.IOException:CreateProcess错误=5,访问被拒绝
在java.lang.ProcessImpl.create(本机方法)
位于java.lang.ProcessImpl.(ProcessImpl.java:81)
在java.lang.ProcessImpl.start(ProcessImpl.java:30)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 26多
[信息]------------------------------------------------------------------------
[信息]总时间:<1秒
[信息]完成时间:2012年3月27日星期二10:33:58