在我自己的项目中使用Java源代码

时间:2011-02-04 20:48:17

标签: java open-source jtable tablesorter swingworker

我在Java 6.0中编写了一个程序,但事实证明我们的一些客户端只有5.0。

问题是6.0的许多功能还没有在5.0中。例如:

  • JTable排序,过滤功能
  • SwingWorker类

我的问题是:

  1. 将java 6.0源代码复制到我自己的项目是合法的,这样我的5.0 jre客户端就可以运行它。
  2. 从技术角度来看,是否很难将TableRowSorter,regexFilter等类源代码复制到我自己的项目中并让它工作?
  3. 由于

3 个答案:

答案 0 :(得分:2)

可能不会,OpenJDK课程属于GPL,这意味着您必须将您的资源置于GPL之下。 Oracle Java类也在“你不能只使用我们的资源做你想做的事情”,所以这很可能是一个非常糟糕的主意。

您可以使用Retroweaver使您的源代码与早期版本的Java一起工作,但我想说您应该使用Java 5(可选)使用Java 6工具(如果可用),然后向客户说明哪些事情他们将从升级中获得。

答案 1 :(得分:1)

您应该问的一个问题是:为什么您的客户没有升级到Java 6.0?因为它是免费且容易的,所以它们必须有一个理由,你应该在从它发送代码之前找出它是什么。

答案 2 :(得分:0)

这取决于您要复制的源代码。来自JavaSE? OpenJDK的?

无论您要从哪里复制,请检查其许可证中的代码。

复制可能很简单,只复制类及其依赖项。但是可能存在许多特定的依赖关系,这会使它耗费大量时间。当你必须复制一个已经存在于版本5中的已更改的类时,你真的会遇到一个问题,你需要一个版本用于某些代码,而较新的版本用于另一个代码。但是,如果您只在该项目中使用Java6代码,那么它应该没问题。将类移动到另一个包中也可能是一种选择,但也可能有很多工作。