【问题标题】:cannot include external jar in my executable jar不能在我的可执行 jar 中包含外部 jar
【发布时间】:2013-08-16 23:06:05
【问题描述】:

我正在尝试将我的 java 应用程序转换为可执行 jar。

我已经能够将它与我的所有类文件一起打包到一个 jar 中,但仍然无法包含 jmf.jar 文件。

这是我的目录结构,

主目录

src/                  //A dir
--a.java
--b.java
jmf.jar
Manifest.txt

我的 Manifest.txt 文件的内容,

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.7.0  
Main-Class: src/a
Class-Path: .;jmf.jar //also tried ./jmf.jar

通过双击 .jar 文件,我可以运行 main 函数,但是当我尝试在 debug 模式下运行 jar 文件时,第二个函数使用 jmf.jar 抛出异常,即找不到 javax.media。这个类在 jmf.jar 文件中,这让我得出结论 jmf.jar 文件不包含在类路径中。那么我做错了什么?如何制作这个可执行文件?

我用来将其转换为 jar 的命令是,

jar cvfm myJar.jar Manifest.txt src\*.class jmf.jar

【问题讨论】:

  • 你为什么删除了你的旧问题并再次问同样的问题?
  • @Recall 我真的需要尽快解决这个问题。对此我深表歉意,但我没有得到任何答案。
  • 这里一切正常。为什么不向我们展示 manifest.mf 文件。
  • @jeez 好吧,你有足够的声望来开始赏金。您本可以针对旧问题提供悬赏,或者等待社区用户提出您的问题。
  • 您的命令顺序错误。如果你有cvfm,你必须先指定文件名,然后是manifest的路径,然后是JAR的目录。

标签: java jar manifest executable-jar


【解决方案1】:

jar tutorial 中所述,清单中的 Class-Path 条目所引用的 jar 文件不得位于 jar 内部,而应位于 jar 外部。

【讨论】:

  • 是的,有答案,没有添加空间并且类路径不在 .mf 文件中。
【解决方案2】:

如果您使用的是 JMF,则需要将 jmf.jar 和 jmf.properties 包含在与可执行 jar 相同的目录中

【讨论】:

    猜你喜欢
    • 2015-03-02
    • 1970-01-01
    • 2011-02-24
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多