2014-12-20 278 views
0

我看到有人使用下面的命令来创建一个jar文件含有许多Java包文件夹(即子文件夹)使用的JAR文件夹上创建一个jar文件

jar cvf program.jar -C folder1/folder2/folder3 .

看来如果没有最后的.,命令将不起作用。而我试图用*代替。也有效。

那么最后的.*是什么意思?

+0

当前工作目录。你确实输入了'man jar'? – bmargulies

+0

我正在使用Windows。我知道'.'通常表示当前文件夹。但我只是不明白它在这里如何。因为我已经将'-C'值递送到'folder1/folder2/folder3'下递归查看。 – smwikipedia

回答

1

jar documentation

-C选项更改为指定的目录和下一个文件添加到罐子。

示例:

jar cf ImageAudio.jar -C images。 -C音频。

该命令的-C images部分指示Jar工具转到images目录,以下-C图像指示Jar工具将该目录的所有内容归档。 -C音频。然后该命令的一部分与音频目录一样。

因此,在您的示例中,您将向jar添加folder1/folder2/folder3目录的内容。

+0

谢谢。当我使用Windows命令'copy folder1 \。 folder2',folder1的子文件夹不会复制到folder2。但用'jar'命令,似乎'''暗示了递归性。我是Java新手,所以这有点超出我的期望。 – smwikipedia