2012-07-12 21 views
0

當我嘗試編譯commons-dbcp-1.2.2與JDK6/7我得到這個錯誤:哪個JDK編譯commons-dbcp-1.2.2? (問題JDK5/6/7)

org.apache.commons.dbcp.BasicDataSource is not abstract and does not override abstract method isWrapperFor(java.lang.Class) in java.sql.Wrapper

這是因爲公地DBCP-1.2.2是JDK6前寫的,在時間java.sql.Wrapper沒有isWrapperFor方法。

因此,我安裝JDK5,但我得到這樣的消息(因爲所有的Java7編譯JAR文件的可能):

java.lang.UnsupportedClassVersionError: Bad version number in .class file

如何解決這個問題呢?

回答

1

我終於成功地編譯公地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 
    

複製build.properties.samplebuild.properties,下載文件中描述的罐子,並更改爲適當的路徑。

搭建OpenJDK 7.