如何在Runnable Jar中包含外部库

时间:2012-11-20 01:33:02

标签: java netbeans

所以,我正在研究这个NetBeans项目,它是一个使用外部库播放声音的jframe。当我从NetBeans运行应用程序时,声音会播放,但是当我构建应用程序并从Windows资源管理器启动可运行的jar时,声音无法播放。我不认为该库包含在runnable jar中。我不知道是否需要参考。如何在NetBeans中完成?

2 个答案:

答案 0 :(得分:0)

您可以使用类似this的内容来创建包含您的库的“胖罐”(根据您的使用情况,可能存在版权问题)。否则,您需要将其包含在classpath

答案 1 :(得分:0)

您可以使用多种方法来实现这一目标。

  1. 提取所有Jar的内容并将它们合并到一个Jar中。这个问题是如果你有任何匹配名称的文件,那么它们将被覆盖。如果您使用这些文件作为服务的查找(例如)
  2. ,这很痛苦
  3. 您可以使用类似exe4j的内容创建自包含的本机可执行文件(我使用此功能,但您必须评估自己的解决方案)和/或Mac App Bundle。这为您的构建增加了另一层复杂性
  4. 使用OneJar等内容将所有Jars捆绑到一个Jar中(保持未压缩状态)。我个人在使用自定义类加载器加载新类时遇到了问题,但其他方法效果很好。