0

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

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

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

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

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

如何解决这个问题呢?

4

1 回答 1

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. 下载这个补丁(补丁说明)和补丁:

    wget https://issues.apache.org/jira/secure/attachment/12362389/patch.txt
    patch -p0 <patch.txt
    

复制build.properties.samplebuild.properties,下载文件中描述的jar,并更改为适当的路径。

使用 OpenJDK 7 构建。

于 2012-07-23T02:41:37.550 回答