Java 我可以使JDBC4.1源代码级与JDK1.6兼容吗?

Java 我可以使JDBC4.1源代码级与JDK1.6兼容吗?,java,jdbc,openjdk,Java,Jdbc,Openjdk,我有扩展java.sql.Statement、java.sql.Connection和java.sql.DataSource的代码 我的兼容性目标是Java1.6,我不想使用JDK1.7中JDBC4.1引入的特定特性 但是在我的系统上默认安装的jdk是Openjdk 7。我希望坚持这一点,但我还是希望我的代码以1.6为目标 在Eclipse中,我将1.6设置为编译的目标,但jdk坚持要我在java.sql类中实现新方法。。。我创建了存根,除了抛出UnsupportedOperationExcep

我有扩展java.sql.Statement、java.sql.Connection和java.sql.DataSource的代码

我的兼容性目标是Java1.6,我不想使用JDK1.7中JDBC4.1引入的特定特性

但是在我的系统上默认安装的jdk是Openjdk 7。我希望坚持这一点,但我还是希望我的代码以1.6为目标

在Eclipse中,我将1.6设置为编译的目标,但jdk坚持要我在java.sql类中实现新方法。。。我创建了存根,除了抛出UnsupportedOperationException之外什么也不做。下面是我的问题:

  • 是否有任何解决方案可以使用1.7SDK编译1.6源代码
  • 如果不是,那么只要我不使用jdbc 4.1规范,我选择“实现”新方法是否是不受支持的OperationException安全的
  • 是否有实现JDBC4.1的连接池

JDBC4.0适用于JDK1.6,您应该使用条件编译来生成一个与JDBC4.0兼容的包。

除了默认情况下使用的连接池之外,您不使用Java 6还有什么特殊原因吗?您认为“实现”JDBC的连接池到底有什么作用?它只是管理连接,我看不出它与所使用的JDBC版本有什么关系。@thorbjorn:事实上,我在Debian/Ubuntu上使用的是默认软件包。碰巧的是,包装商制造的openjdk-7-jdk也提供了java6jdk。因此,它在安装时伪造jdk6环境创建符号链接。我不希望手动删除它们并安装自己的jdk。但如果这是唯一的解决方案,我肯定会这样做。如果您想在Java7上使用Target1.6进行编译,那么还应该指定一个包含Java6RT.jar的bootclasspath。当您指定目标1.6时,Java7应该给您一个警告(至少:OracleJDK会这样做)。您只需实现它来抛出SQLFeatureNotSupportedException。顺便问一下:您是否考虑过使用
java.lang.reflect.Proxy
来实现它?