我想创建一个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文件答案 0 :(得分:0)
使用-C
选项,如手册中所述:
-C dir 在处理以下inputfiles参数时暂时将目录更改为dir。允许多个-C dir输入文件集。
例如:
% jar uf foo.jar -C classes bar.class
将更改为classes目录,并将该目录中的bar.class添加到foo.jar