【问题标题】:how to use jar files如何使用jar文件
【发布时间】:2013-06-21 17:25:49
【问题描述】:

我已经使用命令提示符创建了一个包含外部 jar 文件的 jar 文件。但是在创建该 jar 文件后,我无法访问主 jar 文件中的 jar 文件。不知道是文件夹结构变了还是有其他问题。

命令提示符中使用的命令:

C:\diretory>jar cf mycollection.jar *

'*' - 用于包含文件夹中的所有 jar 文件。

我只是想为我的项目中需要的所有外部文件制作一个 jar 文件。它已成功构建,但在使用它时给出了 ClassNotFoundException。 我现在给你我的问题的完整场景。实际上,我正在尝试将所有外部外观 jar 添加到单个 jar 文件中,因此我不需要单独放置每个 jar。所以我创建了一个包含所有外部外观和感觉 jar 文件的 jar 文件。现在在像 import 语句一样使用它时,它显示我的 jar 文件中没有这样的类。

【问题讨论】:

  • 您是否将其他 Jar 文件嵌入(包括)到单个 Jar 文件中?
  • 发布 1) 实际错误或异常输出。 2)用于运行罐子的命令。 3) 主 Jar 的清单。 4) 类路径/清单中每个类的jar -tvf the.jar。 -- 没有这类信息,我们只能猜测。
  • JAR 只是 ZIP 文件。更改扩展名并使用 7zip 等 ZIP 实用程序打开。
  • 嵌套 JAR 不是 JavaSE 的一部分(参见注释 here),但有一些方法可以解决这个问题(一些 examples)。
  • 你这个疯狂的程序员我也在做同样的事情......

标签: java swing jar


【解决方案1】:

Java 不支持嵌入式 Jar。我知道,痛苦。

您可以尝试使用 One-Jar 之类的东西,它允许您将多个 Jar 嵌入到一个“主”Jar 中,但我在自定义类加载方面遇到了问题,但您可能会遇到更好的运气...

【讨论】:

  • 疯狂的程序员,它只是创建了一个可执行的 jar 文件,但是从 jar 文件本身调用类呢……我的意思是 import de.javasoft……等等它不允许我调用类jar文件里面。感谢您的回答,但对我不起作用
  • 您无法链接生成的 Jar 以用于您的其他项目。 OneJar 被设计为一种工具,您可以通过它来打包可发布的应用程序。那么你的问题的答案是“不 - 它不能完成”
【解决方案2】:

在处理 Maven 项目时,我正在使用 Maven 的目标 assembly:assembly 以便将所有文件打包成一个文件(使用依赖项构建)。

NetBeans 还提供“使用依赖项构建”选项,您可能也想检查一下...

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 2013-09-28
    • 2019-03-19
    • 1970-01-01
    • 2023-03-08
    • 2011-08-18
    • 1970-01-01
    • 2010-11-19
    • 2013-08-01
    相关资源
    最近更新 更多