jar -C选项似乎不起作用

时间:2014-01-10 12:53:14

标签: java jar

我正在使用命令

$ jar cvf a.jar -C ../bin/ ../bin/a.class ../bin/b.class

输出是:

adding: ../bin/a.class(in = 0) (out= 0)(stored 0%)
adding: b.class(in = 0) (out= 0)(stored 0%)

-C选项不适用于第一个文件,但适用于第二个文件。可能是什么问题?

1 个答案:

答案 0 :(得分:4)

您似乎对命令行选项感到困惑。用法是:

Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...

-C  change to the specified directory and include the following file

(请注意-C选项的帮助中包含以下文件。)当您说:

jar cvf a.jar -C ../bin/ ../bin/a.class ../bin/b.class

它会查找../bin/../bin/a.class../bin/b.class,这会导致您观察到的行为。要么说:

jar cvf a.jar ../bin/a.class ../bin/b.class

jar cvf a.jar -C ../bin/ a.class -C ../bin/ ../bin/b.class

要包含../bin/目录中的所有文件,请说:

jar cvf a.jar -C ../bin/ .