用文件夹中的文件替换jar中的文件



我有一个目录update,其结构与JAR文件Application.JAR相同。现在我想(以编程方式(用update文件夹中的文件替换Application.JAR中的所有文件。比方说,我有以下目录和jar文件的结构:

Application.jar / update
- TestDir
- text2.txt
- text1.txt

当使用jar uf Application.jar update/TestDir/text2.txt时,它会在Application.jar中创建一个新目录-update,并且它将从那里全部添加,当使用绝对路径时更糟(在jar文件中创建整个C:\结构(。如何保留结构,有没有办法将pathToUpdate\update标记为根?我知道有-C参数,但我不明白。

您有两个选项。

  1. 首先将工作目录更改为update,以便"更新"文件的相对路径与您在jar中想要的路径相匹配:

    cd update
    jar uf ../Application.jar TestDir/text2.txt
    
  2. 使用-C选项:

    jar uf Application.jar -C update TestDir/text2.txt
    

-C选项可能需要执行以下操作:jar Application.jar -C update update/TestDir/text2.txt

总的来说,我建议第一种选择;一旦您开始使用例如*等,第二个问题就会变得棘手。

最新更新