将所有目录内容添加到jar

时间:2016-02-12 16:27:45

标签: java windows jar

我无法强制jar将目录内容(递归地)打包到.jar文件。它有点尴尬,因为它听起来像一个基本的东西,但至少我现在还有一个论点,为什么我不喜欢java。

我的项目文件夹中有一个bin目录。该目录包含各种文件夹中的.class个文件:

image description

我想创建一个在根目录中包含这些文件和目录的jar文件。结构应保持不变。我可以使用7z七个zip命令执行此操作:

cd bin
7za a -r sample3.jar *.*

但Java不太喜欢这样。我很惊讶添加所有目录内容这样的功能是如此隐蔽。

这就是我的尝试:

  • jar cf sample3.jar bin/*jar cf sample3.jar bin创建包含root用户bin目录的jar,而不是包含目录
  • 这会创建仅包含META-INF

    的jar文件
    cd bin
    jar cf sample3.jar *.*
    
  • 同样的问题:

    cd bin
    jar cf sample3.jar *.class
    

有没有一种简单的方法将所有目录内容添加到JAR?这就是我想要的:

image description

3 个答案:

答案 0 :(得分:1)

如果您从Object目录

运行,请尝试此操作

bin

  

c - 创建一个名为jarfile的新存档文件(如果指定了f)或标准输出(如果省略f和jarfile。

     

f - 指定要创建的文件jarfile(c),更新(u),提取(x),索引(i)或查看(t)。 -f选项和文件名jarfile是一对 - 如果存在,它们必须都出现。

     

v-生成详细输出到标准输出。

     

inputfiles(./*.class) - 由空格分隔的文件或目录,组合成jarfile(用于c和u),或从jarfile中提取(用于x)或列出(用于t)。所有目录都以递归方式处理。

答案 1 :(得分:1)

使用'bin /。'尝试-C选项。它将“更改为指定的目录并包含以下文件”

jar -cvf sample3.jar -C bin/ .

答案 2 :(得分:0)

jar uvf sample.jar bin

对我有用....