mavenantmaven-ant-tasks

install jar built from ant task into local maven repository


This is the command I want to run at the end of my Ant script:

 mvn install:install-file -Dfile=C:\dev\common\somejar.jar -DgroupId=com.myco.gt -DartifactId=somejar-Dversion=1.0.0 -Dpackaging=jar -DgeneratePOM=true

If I enter the following target at the end of my Ant script:

<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>

I get CreateProcess error=2. The system cannot find the path specified.

even though I can run mvn on the command line. What gives?


Solution

  • The mvn command is actually a batch command, so you can't execute it directly. Try this:

    <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>