这是我想在Ant脚本结束时运行的命令:
mvn install:install-file -Dfile=C:\dev\common\somejar.jar -DgroupId=com.myco.gt -DartifactId=somejar-Dversion=1.0.0 -Dpackaging=jar -DgeneratePOM=true
如果我在Ant脚本的末尾输入以下目标:
<target name='install_mvn_dependencies' depends='build_jars'>
<exec executable="mvn">
<arg value="install:install-file"/>
<arg value="-Dfile=c:\dev\common\somejar.jar"/>
<arg value ="-DgroupId=com.myco.gt"/>
<arg value="-DartifactId=somejar"/>
<arg value="-Dversion=1.2.0"/>
<arg value="-Dpackaging=jar"/>
<arg value="-DgeneratePOM=true"/>
</exec>
</target>
我得到CreateProcess error=2. The system cannot find the path specified.
即使我可以在命令行上运行mvn。是什么给了什么?
答案 0 :(得分:4)
mvn
命令实际上是一个批处理命令,因此您无法直接执行它。试试这个:
<exec executable="cmd.exe">
<arg value="/c"/>
<arg value="mvn.bat"/>
<arg value="install:install-file"/>
<arg value="-Dfile=c:\dev\common\somejar.jar"/>
<arg value ="-DgroupId=com.myco.gt"/>
<arg value="-DartifactId=somejar"/>
<arg value="-Dversion=1.2.0"/>
<arg value="-Dpackaging=jar"/>
<arg value="-DgeneratePOM=true"/>
</exec>
答案 1 :(得分:0)
因为它是ant / java,我希望如此:(未经测试!)
<arg value="-Dfile=c:\\dev\\common\\somejar.jar"/>
注意双反斜杠,否则它将是一个转义符,可能找不到路径。 IIRC你也可以使用正斜杠。
<arg value="-Dfile=c:/dev/common/somejar.jar"/>