当我试图用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文件中的版本号错误
如何解决这个问题?
我终于编译了commons-dbcp-1.2.2,下面是我的操作:
-
下载修订版558600(因为有人为它写了正确的补丁。它几乎是1.2.2,有一些修复)
svn checkout -r 558600 http://svn.apache.org/repos/asf/commons/proper/dbcp/trunk commons-dbcp
-
下载此补丁(补丁说明)和补丁:
wget https://issues.apache.org/jira/secure/attachment/12362389/patch.txt patch -p0 <patch.txt
将build.properties.sample
复制到build.properties
,下载文件中描述的jar,然后更改为适当的路径。
使用OpenJDK 7构建。