【问题标题】: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
【解决方案2】:
这正是 OSGi 试图解决的问题。将 Java 应用程序返工到另一个插件平台是否可行?
【解决方案3】:
这将是困难的。您可以想象使用类加载器技巧来允许在同一个 JVM 中加载两个版本的 eclipse.uml.* 类。但就 JVM 而言,它们将是不同的类集,您的插件和基本 java 应用程序将无法交换实例。
重建(并在必要时修改)基础程序或插件可能更简单(并且风险更小......在成功的可能性方面),以便它们都可以使用相同版本的eclipse.uml2.*类。