我不能强迫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
创建的jar在根目录中包含bin
目录,而不是包含的目录这将创建仅包含
META-INF
的jar文件:cd bin
jar cf sample3.jar *.*
同样的问题:
cd bin
jar cf sample3.jar *.class
有没有一种简单的方法可以将所有目录内容添加到JAR?这就是我要的:
最佳答案
如果从bin
目录运行,请尝试此操作jar -cfv samples.jar . *.class
c-创建一个名为jarfile(如果指定了f)的新归档文件,或者创建一个标准输出(如果省略了f和jarfile)。
f-指定要创建(c),更新(u),提取(x),索引(i)或查看(t)的文件jarfile。 -f选项和文件名jarfile是一对-如果存在,则必须同时出现。
v-将详细输出生成为标准输出。
inputfiles(。/*.class)-用空格分隔的文件或目录,将组合成jarfile(对于c和u),或者从jarfile中提取(对于x)或列出(对于t)。所有目录都是递归处理的。