1

这是我想在我的 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。是什么赋予了?

4

2 回答 2

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>   
于 2012-11-29T16:51:37.713 回答
0

因为它是 ant / java,所以我希望这样:(未经测试!)

   <arg value="-Dfile=c:\\dev\\common\\somejar.jar"/>

注意双反斜杠,否则它将是一个转义并且可能找不到路径。IIRC 你也可以使用正斜杠。

   <arg value="-Dfile=c:/dev/common/somejar.jar"/>

另请参阅:Ant 使用反斜杠而不是斜杠生成 jsfl

于 2012-11-29T16:14:41.840 回答