【问题标题】:Java: separating JAR versionsJava:分离 JAR 版本
【发布时间】:2010-03-13 07:58:48
【问题描述】:

我正在为现有的 Java 程序开发 Java 插件。现有程序使用特定版本的 eclipse.uml2.*,我的插件也是如此。不幸的是,我的插件需要更新版本。

为了运行插件,我需要将它导出到一个 Jar 文件中(所有的 jar 都打包)。然后程序执行它。但不知何故,新的 eclipse.uml2.* 似乎干扰了程序 -> 它崩溃了。

有没有办法“分离”两个版本的 jar 文件?

【问题讨论】:

    标签: java jar executable executable-jar


    【解决方案1】:

    一种方法是在您的应用程序中使用自定义类加载器。这很容易引入难以追踪的错误,所以要小心。

    http://www.devx.com/Java/Article/31614/1954

    【讨论】:

      【解决方案2】:

      这正是 OSGi 试图解决的问题。将 Java 应用程序返工到另一个插件平台是否可行?

      【讨论】:

        【解决方案3】:

        这将是困难的。您可以想象使用类加载器技巧来允许在同一个 JVM 中加载两个版本的 eclipse.uml.* 类。但就 JVM 而言,它们将是不同的类集,您的插件和基本 java 应用程序将无法交换实例。

        重建(并在必要时修改)基础程序或插件可能更简单(并且风险更小......在成功的可能性方面),以便它们都可以使用相同版本的eclipse.uml2.*类。

        【讨论】:

          猜你喜欢
          • 2020-03-13
          • 2013-01-14
          • 1970-01-01
          • 2012-04-17
          • 2023-03-08
          • 2015-02-28
          • 1970-01-01
          • 2010-11-04
          • 2023-02-22
          相关资源
          最近更新 更多