【问题标题】:install jar built from ant task into local maven repository将 ant 任务构建的 jar 安装到本地 maven 存储库中
【发布时间】:2012-11-30 00:51:37
【问题描述】:

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

【问题讨论】:

    标签: maven ant maven-ant-tasks


    【解决方案1】:

    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>   
    

    【讨论】:

      【解决方案2】:

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

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

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

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

      另请参阅:Ant produces jsfl with backslashes instead of slashes

      【讨论】:

      • 感谢您的回复,但 maven 并没有抱怨它找不到 jar,这是您提出的答案将解决的问题。相反,Ant 抱怨它找不到 mvn 命令。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多