编译库到什么java版本

时间:2012-09-28 12:01:54

标签: java jar compilation version software-distribution

我正在写一个通用库(让我们说junit或spring)。我不使用较新的java版本的任何功能。我想把我的图书馆放在maven中心。

我的问题是:在编译期间我应该选择-target?如果我选择1.2,那么每个人都可以使用我的库,但是我不确定我是否在最近的jvm上运行时失去了一些性能。在这种情况下,最佳做法是什么?我想避免在maven中心部署多个版本,每个版本用于特定的jvm

2 个答案:

答案 0 :(得分:0)

我不会低于1.5(因为泛型,即使您现在不使用它们,也可能有一天需要它们 - 看看Apache Commons发生了什么)。如果它是一个新的库,我认为支持最后两个主要的Java版本就足够了。 但是你的问题与表现更相关。我认为目标版本不应该产生任何重大影响。

答案 1 :(得分:0)

我认为使用编译类所需的最低Java版本应该没问题。因此,如果您的代码使用Java 1.2进行编译(这意味着您不使用任何泛型,枚举,自动资源管理等),那么可以随意使用Java 1.2进行编译。

我认为没有巨大的性能阻止程序,尽管较新的javac版本可能会更好地优化代码。

相关问题