我现在想做一个批处理文件,通过调用jar命令行,将某个.class文件更新到jar包的指定目录下。
例如:D:\a.jar   a.jar内部有一些目录及文件: a.jar\t\c.class我现在想将最新的c.class更新到a.jar当中,在网上找了好久没找到办法。请大家帮忙。

解决方案 »

  1.   

    大概写了下,不知道合不合适没用用参数方式,直接用的输入方式,好久没写批处理了,如有错误请包涵@echo off
    title 更新jar文件
    color 2f
    echo ------------------------------------------
    echo                 更新jar文件
    echo to: 格式:.jar 文件 如:xx.jar
    echo from: 格式:.class文件所在目录(jar包内的根目录如com)
    echo 要更新 com\test\T.class(按目录放好) 则 需要jar和com放在同一层。
    echo to输入:xx.jar from输入:com
    echo ------------------------------------------echo.
    set from=
    set to=:m1
    set /p to=请输入要更新的jar文件(to):
    if "%to%"==""  (echo 请输入正确的文件名 &pause& goto m1)
    ::if Not Exist %to% (echo 请输入正确的路径 &pause& goto m1):d1
    set /p from=请输入class文件(from):
    if "%from%"=="" (echo 请输入正确的class文件 &pause& goto d1) :start
    echo 正在更新......
    D:\java\jdk1.6.0_01\bin\jar uvf %to% %from%
    echo 更新jar文件完成! pause>nul
      

  2.   

    非常感谢回答.再问一个, WinRar中有个命令开关 -ap, 作用是:指定到压缩文件中的路径,这样就可以将某个文件(a.txt),更新到压缩文件中的某个具体路径下去.而且a.txt可以随意放置哪里都行.
    我要问 Jar 有没有类似这样的命令开关,是怎么一个用法的???上面的回答似乎需要具有相同的路径.  我想要一个路径间没有关系的做法.......