或者直接在ant里运行一些windows命令行里的命令。

解决方案 »

  1.   

    可以的,在Windows下,不能直接调用dir、del(因为没有这个程序!)等,必须通过cmd.exe来调用:<?xml version="1.0" ?><project name="testExec" default="test">     <target name="test">            <exec executable="cmd.exe">                   <arg line="/c dir"/>            </exec>     </target></project>
      

  2.   

    要是执行多条,还有绰号怎么办啊:
    <arg line="/c d:"/>
    <arg line="/c dir"/>
    我试了一下,没有显示d盘下面的目录。比如说想执行下面的命令:
    d:cd "D:\eclipse\workspace\check0213"
      

  3.   

    当然可以调用
    <exec executable="cmd.exe">
    ____<arg line="/c d:"/>
    ____<arg line="/c cd d:\eclipse\workspace\check0213"/>
    </exec>有兴趣你还可以试试这个:
    <exec executable="net" os="Windows 2000">
    ____<arg line=" send 127.0.0.1 hello"/>
    </exec>
      

  4.   

    to 楼上:
      但是我调用check0213下面的一个bat文件并没有执行啊:
    <exec executable="cmd.exe">
    <arg line="/c d:"/>
    <arg line="/c cd d:\eclipse\workspace\check0213"/> <arg line="/c sign.bat"/>
    </exec>
    这个bat文件用来给jar进行数字签名。
      

  5.   

    绝对可以运行 bat 文件
      

  6.   

    cmd能运行吗,你的环境变量要设好.
      

  7.   

    既然给jar签名,为什么不用ant直接签名呢,不必调用bat
    <signjar destDir="signed"
        alias="testonly" keystore="testkeystore"
        storepass="apacheant"
        preservelastmodified="true">
      <path>
        <fileset dir="dist" includes="**/*.jar" />
      </path>
      <flattenmapper />
    </signjar>
      

  8.   

    我的签名bat是这样写的,转换成ant应该如何写呢?
    d:cd "D:\eclipse\workspace\nice\sign"
    "e:\j2sdk1.4.2\bin\jarsigner" -keystore TestKey.dat -storepass test@glue -keypass test@glue ../niceApplet.jar TestRoot
    pause