2013-04-05 137 views
47

我想使用命令行实用程序将我的一个jar添加到指定的目录。将jar提取到指定的目录

如果我没有理解这个权利-C选项应招,但是当我尝试

jar xvf myJar.jar -C ./directoryToExtractTo 

我从我的jar工具获取使用信息,所以我做错了什么。

是我想达到的jar还是需要手动将我的罐子并没有调用

jar xvf myJar.jar 
+3

我觉得'-C'只是为了添加文件。 – 2013-04-05 09:57:52

+0

也许,我认为这也是specyfying输出目录。 – Andna 2013-04-05 10:34:30

回答

40

这是更好地做这个事情。

导航到该文件夹​​结构,你需要

命令

jar -xvf 'Path_to_ur_Jar_file' 
+6

我可以做到这一点,我同意我可以做到这一点,我只是想知道我是否误解了-C选项,并且似乎是这样。 – Andna 2013-04-05 10:35:09

+0

也许这是通过“jar xf”指定目标位置的唯一方法。 – 2015-01-04 09:17:43

+0

它给我一个错误:“无法识别的选项-xvf – Rushi 2015-03-26 00:23:08

40

罐子使用zip压缩,所以你可以使用任何解压缩工具。

实施例:

$ unzip myJar.jar -d ./directoryToExtractTo

+15

'unzip myJar.jar -d out-directory 'for Xubuntu 12.04.1 – 2014-09-29 15:25:58

+1

我以前使用zip创建一个jar的问题(它不等同于使用jar命令),但我不能说解压缩。我的建议是使用这个需要您自担风险,并且赞成使用jar命令 – Ring 2016-10-20 18:05:35

+0

gunzip抱怨jar有多个条目 – Almo 2017-04-21 18:34:00

8

有一个在罐子命令本身可没有这样的选择。查看the documentation

-C dir在执行jar命令期间临时更改目录(cd dir),同时处理以下inputfiles参数。 其操作旨在与tar实用程序的UNIX 的-C选项类似。例如:jar uf foo.jar -C类bar.class将 更改为classes目录,并将该目录中的bar.class添加到 foo.jar。下面的命令,jar uf foo.jar -C类。 -C bin 将xyz.class更改为classes目录并将其添加到foo.jar中所有 文件中的classes目录中(不在jar文件中创建类 目录),然后更改回原始 目录,然后切换到bin目录中添加xyz.class到 foo.jar。如果类持有文件BAR1和BAR2,那么这里就是该 jar文件包含使用的jar TF foo.jar中:META-INF/

META-INF/MANIFEST.MF

BAR1

BAR2

xyz.class

-1

这对我有效。

我创建了一个文件夹,然后从命令提示符改为使用CD选项的文件夹。

然后从那里执行jar。

d:\LS\afterchange>jar xvf ..\mywar.war 
相关问题