【问题标题】:looking for stand-alone class loader寻找独立的类加载器
【发布时间】:2012-07-09 13:45:49
【问题描述】:

我确实有一个独立的 java 程序,其中包含我自己的 jar 和许多依赖库作为单个存档(构建 wby maven,实际上总共 15 个 JAR 文件)。是否有人已经有一个很好的解决方案,她/他可以向我推荐如何避免这种情况并使包装更智能?

例如,像 EAR 档案这样的打包会很棒,但是我可以从我的 NON-Java EE 应用程序中使用任何独立的 EAR 类加载器吗?

【问题讨论】:

    标签: java classloader packaging ear


    【解决方案1】:

    这是Eclipse Fat Jar plugin。用他们自己的话说:

    Fat Jar Eclipse 插件是一个部署工具,用于部署一个 将 Eclipse java-project 放入一个可执行的 jar 中。

    它将条目“Build Fat-JAR”添加到导出向导。此外 eclipse 标准 jar-exporter 引用的类和 jar 是 包含在“Fat-Jar”中,因此生成的 jar 包含所有需要的 类,可以直接用“java -jar”执行,没有类路径 必须设置,不需要部署额外的 jars。

    罐子、外部罐子、用户库、系统库、类文件夹 和 Project-Exports 由插件考虑。主类可以 被选中并合并清单文件。 One-JAR 选项 集成了一个由 Simon Tuffs 编写的专用类加载器( http://one-jar.sourceforge.net/ ) 处理 jar 文件 罐。可以将单个文件和文件夹排除或添加到 jar 中。 不同的设置可以通过“快速构建”存储和重新执行 上下文菜单。

    【讨论】:

    • 这听起来是我正在寻找的:“由 Simon Tuffs (one-jar.sourceforge.net) 编写的类加载器,它处理 jar 中的 jar 文件”
    【解决方案2】:

    好吧,我不知道您使用的是哪个 IDE。我有 Eclipse Indigo (3.7)。对我来说,步骤很简单:

    1. 右键单击您的 Java 项目文件夹
    2. 点击导出
    3. 在出现的窗口中选择 Java>Runnable JAR 文件,然后单击下一步
    4. 在下一个窗口中,选择您希望程序运行的配置
    5. 选择您的目标文件夹
    6. 在“库处理:”部分确保您选择“将所需库提取到生成的 JAR 中”,这将解压缩您的库,然后将它们重新打包到您完成的 .jar 中
    7. 点击完成
    8. 你已经完成了!尽情享受吧。

    如果您的 Eclipse 版本低于 Ganymede (3.4),您需要获取 Fat Jar Plug-in

    【讨论】:

    • 这些步骤与 Fat Jar 插件基本相同。 Fat Jar 插件已集成到 Eclipse Ganymede 中。
    • 使用 eclipse 不是一个选项,我也不想提取依赖 jar,因为其中一些可能有内部资源。我正在寻找某种“外部”容器,我可以将 JAR 放入其中,就像使用 EAR 一样。
    猜你喜欢
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2011-11-30
    • 2015-04-27
    • 1970-01-01
    相关资源
    最近更新 更多