我无法强制jar
将目录内容(递归地)打包到.jar
文件。它有点尴尬,因为它听起来像一个基本的东西,但至少我现在还有一个论点,为什么我不喜欢java。
我的项目文件夹中有一个bin
目录。该目录包含各种文件夹中的.class
个文件:
我想创建一个在根目录中包含这些文件和目录的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
:
cd bin
jar cf sample3.jar *.*
同样的问题:
cd bin
jar cf sample3.jar *.class
有没有一种简单的方法将所有目录内容添加到JAR?这就是我想要的:
答案 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
对我有用....