哪个JDK编译commons-dbcp-1.2.2? (JDK5 / 6/7的问题)

时间:2012-07-12 08:24:44

标签: jdk1.6 java-7 apache-commons-dbcp jdk1.5

当我尝试使用JDK6 / 7编译commons-dbcp-1.2.2时,我收到此错误:

  

org.apache.commons.dbcp.BasicDataSource不是抽象的,并且不会覆盖java.sql.Wrapper中的抽象方法isWrapperFor(java.lang.Class)

这是因为在java.sql.Wrapper没有isWrapperFor方法的时候,commons-dbcp-1.2.2是在JDK6之前编写的。

所以我安装了JDK5,但是我得到了这样的消息(可能是因为所有Java7编译的JAR):

  

java.lang.UnsupportedClassVersionError:.class文件中的错误版本号

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我终于设法编译了commons-dbcp-1.2.2,我就是这样做的:

  1. 下载修订版558600(因为有人为它编写了正确的补丁。它只有1.2.2,只有一些修复)

    svn checkout -r 558600 http://svn.apache.org/repos/asf/commons/proper/dbcp/trunk commons-dbcp
    
  2. 下载this patchexplanation of the patch)并修补:

    wget https://issues.apache.org/jira/secure/attachment/12362389/patch.txt
    patch -p0 <patch.txt
    
  3. build.properties.sample复制到build.properties,下载文件中描述的jar,然后更改为相应的路径。

    使用OpenJDK 7构建。