【发布时间】:2013-08-27 08:26:56
【问题描述】:
我和一群朋友开始写一个软件,因为我们都熟悉Java语言,所以选择了它。
为了解决Java中的单一类路径问题,我们选择使用OSGi。我们在项目中使用了 Spring DM、Hibernate 和 CXF DOSGi。
需要付出很多努力才能使事情正常进行。例如,我们想使用 Spring 注解来标记事务,这是一项相当困难的任务。我们收到了很多 ClassNotFoundExceptions,为了解决它们,在 import-package 部分添加了导入,但不知道为什么需要它们(这些主要是 Spring 包)。
在经历了这个过程之后,我们认为也许我们选择了错误的语言?
所以我的问题是:
哪些语言没有 Java 中的单一类路径问题?
这些语言如何解决问题?
使用这些语言而不是使用 Java 有什么缺点吗(除了我们必须学习它们)?
【问题讨论】:
-
单类路径问题到底是什么???
-
@Thihara 我们不能使用同一个库的两个版本,因为在运行时只会使用其中一个。使用 OSGi,每个包都有自己的类路径。请参阅版本控制部分here。
-
这似乎是使用 osgi 的一个非常糟糕的理由
-
@Thihara 在Why OSGi下的OSGi联盟网站中说版本控制是OSGi的优势之一。你的意思是说上面链接中的信息不准确吗?此外,如果我们的软件依赖于第三方库,那么它们很有可能会依赖于同一库的不同版本。
-
@NeilBartlett 我认为成为该语言的一部分很重要的原因是,如果该语言支持它,那么这意味着该语言被设计为模块化的。我认为这个问题很简单。如果有人知道解决问题的语言,他们可以简单地回复语言的名称:)
标签: java hibernate programming-languages osgi classpath