0

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

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

4

2 回答 2

0

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

于 2012-09-28T12:10:09.403 回答
0

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

我不认为存在巨大的性能障碍,尽管较新的 javac 版本可能会更好地优化代码。

于 2012-09-28T14:24:33.957 回答