【问题标题】:I can't create a working .jar from outside my .class directory我无法从我的 .class 目录之外创建一个工作 .jar
【发布时间】:2016-03-02 23:02:56
【问题描述】:

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

├── MANIFEST.MF
├── Test.java
├── 课程
│   ├── Test.class

清单.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 文件?

【问题讨论】:

    标签: java jar manifest


    【解决方案1】:

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

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

    例如:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      相关资源
      最近更新 更多