Java jar-C命令的奇怪行为:没有包含所有预期的文件
我在创建jar时遇到了一个问题。详情如下:Java jar-C命令的奇怪行为:没有包含所有预期的文件,java,jar,Java,Jar,我在创建jar时遇到了一个问题。详情如下: [amulay@pugthesestock-dr Desktop]$ ll src/com/foo/bar/ -rw-rw-r-- 1 amulay amulay 421 Jul 17 11:40 Test1.class -rw-rw-r-- 1 amulay amulay 125 Jul 17 11:40 Test1.java -rw-rw-r-- 1 amulay amulay 421 Jul 17 11:40 Test2.class -rw-rw
[amulay@pugthesestock-dr Desktop]$ ll src/com/foo/bar/
-rw-rw-r-- 1 amulay amulay 421 Jul 17 11:40 Test1.class
-rw-rw-r-- 1 amulay amulay 125 Jul 17 11:40 Test1.java
-rw-rw-r-- 1 amulay amulay 421 Jul 17 11:40 Test2.class
-rw-rw-r-- 1 amulay amulay 125 Jul 17 11:39 Test2.java
[amulay@pugthesestock-dr Desktop]$ jar -cvf Test.jar -C src src/com/foo/bar/*.class
src/src/com/foo/bar/Test1.class : no such file or directory
added manifest
adding: com/foo/bar/Test2.class(in = 421) (out= 288)(deflated 31%)
[amulay@pugthesestock-dr Desktop]$ unzip -l Test.jar
Archive: Test.jar
Length Date Time Name
--------- ---------- ----- ----
0 07-17-2013 11:47 META-INF/
68 07-17-2013 11:47 META-INF/MANIFEST.MF
421 07-17-2013 11:40 com/foo/bar/Test2.class
--------- -------
489 3 files
正在jar中添加文件Test2.class,而不是Test1.class?在开始对文件进行tar之前,
-C
选项将更改为给定文件夹
应该是:
jar -cvf Test.jar -C src com/foo/bar/*.class
创建一个“可运行”的jar。尝试从类的文件pathNo luck中删除
src
[amulay@pugthesestock-dr Desktop]$jar-cvf Test.jar-C src com/foo/bar/*.class src/com/foo/bar/*.class:没有添加这样的文件或目录您可能在src下有另一个src,其中只有Test2.class,而不是Test1.class。如果没有,执行jar-cvf
[amulay@pugthesestock-dr桌面]$ls-lR src src:total 4 drwxrwxr-x 3 amullay amullay 4096 Jul 17 14:13 com src/com:total 4 drwxrwxr-x 3 amullay amullay 4096 Jul 17 11:37 foo src/com/foo:total 4 drwxrwxr-x 2 amullay amullay 4096 Jul 17 11:40 bar src/com/foo/bar:total 16-rw-rw-rw-r-1 amullay 421 Jul 17 11:40 Test1.class-rw-rw-rw-r-r-1 amullay-125 amullay 17:40Test1.java-rw-rw-r--1 amulay amulay 421 Jul 17 11:40 Test2.class-rw-rw-r--1 amulay amulay 125 Jul 17 11:39 Test2.java