我想创建一个 jar 文件。但我希望能够从另一个目录创建它。如果我从存储 *.class 文件的同一目录创建它,我似乎只能创建工作 .jar 文件。我做了一个更简单的项目来展示我的困难:
├── MANIFEST.MF
├── 测试.java
├── 类(class)
│ ├── 测试.class
list .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 文件?
最佳答案
使用-C
选项,如手册所述:
-C dir Temporarily changes directories to dir while processing the following inputfiles argument. Multiple -C dir inputfiles sets are allowed.
For example:
% jar uf foo.jar -C classes bar.class
would change to the classes directory and add the bar.class from that directory to foo.jar
关于java - 我无法从 .class 目录外部创建工作 .jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35759959/