0

commons-dbcp-1.2.2をJDK6/7でコンパイルしようとすると、次のエラーが発生します。

org.apache.commons.dbcp.BasicDataSourceは抽象ではなく、java.sql.Wrapperの抽象メソッドisWrapperFor(java.lang.Class)をオーバーライドしません

これは、commons-dbcp-1.2.2が、メソッドjava.sql.WrapperがなかったときにJDK6より前に作成されたためです。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をダウンロードして、適切なパスに変更します。

OpenJDK7でビルドします。

于 2012-07-23T02:41:37.550 に答える