我无法从.class目录外创建一个工作.jar

时间:2016-03-02 23:02:56

标签: java jar manifest

我想创建一个jar文件。但我希望能够从另一个目录创建它。如果我从存储* .class文件的同一目录创建它,我似乎只能创建工作.jar文件。我做了一个更简单的项目来证明我的困难:

├──MANIFEST.MF
├──Test.java
├──班级 │├──Test.class

MANIFEST.MF

Manifest-Version: 1.0
Main-Class: Test

如果我从/ classes /目录运行此命令,我创建的Test.jar工作正常

jar -cfm Test.jar ../MANIFEST.MF *.class

但是,如果我在/目录中使用此命令,

jar -cfm Test.jar MANIFEST.MF classes/*.class

我尝试运行.jar文件,出现以下错误:

Error: Could not find or load main class Test

如何从/ classes /?

以外的目录创建.jar文件

1 个答案:

答案 0 :(得分:0)

使用-C选项,如手册中所述:

  

-C dir 在处理以下inputfiles参数时暂时将目录更改为dir。允许多个-C dir输入文件集。

     

例如:

% jar uf foo.jar -C classes bar.class
     

将更改为classes目录,并将该目录中的bar.class添加到foo.jar