Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jar-C命令的奇怪行为:没有包含所有预期的文件_Java_Jar - Fatal编程技术网

Java jar-C命令的奇怪行为:没有包含所有预期的文件

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

我在创建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-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