Java 6中自带JDBC 4,这是不向后兼容JDBC附有Java的早期版本。
我们必须支持的Java 5和Java 6.如果我实现在驱动程序中的新的接口,它并没有在Java 5的工作,因为接口也采用了新的类JDBC驱动程序。 因此,我们有2个版本的驱动程序。 有没有办法有一个罐子为Java 5和6?
Java 6中自带JDBC 4,这是不向后兼容JDBC附有Java的早期版本。
我们必须支持的Java 5和Java 6.如果我实现在驱动程序中的新的接口,它并没有在Java 5的工作,因为接口也采用了新的类JDBC驱动程序。 因此,我们有2个版本的驱动程序。 有没有办法有一个罐子为Java 5和6?
如果实现JDBC 3.0驱动程序,您的客户在Java 6中运行它,如果他们调用任何新的JDBC 4.0方法,他们会得到错误。 这是罕见的,因为这些新的方法并不常用,但如果你想成为防呆,下面的解决方案(这是一个黑客)应该做的伎俩:
我们可以抛弃JDBC 4.0接口罐子,因为:
唯一潜在的问题可能是与Java类加载器5。 如果不能找到新的JDBC 4.0接口(就像java.sql.NClob)它可能会失败。 我不认为这会在Sun JVM发生,除非你调用,它返回这些新接口中的一个方法,所以你应该不错。 如果我错了,这是一个问题,只是把罐子丢弃在Java 5中运行时,在你的classpath(即定义的新JDBC 4.0接口的)。