commons-codec 1.5のクラスBase64を使用したいのですが、サーバーでコードを実行すると、これは正常に機能します。私のアプリケーションはWebsphere7.0で実行されます。
しかし、JUnitテストを実行すると、次のようにクラスに尋ねると、間違ったBase64クラスが選択されます。
System.out.println(Base64.class.getProtectionDomain().getCodeSource().getLocation());
出力は次のとおりです。file:/ C:/EProg/IBM/SDP80/runtimes/base_v7/plugins/com.ibm.ws.prereq.soap.jar
それは間違いなく間違ったバージョンです。
また、バージョンが間違っているためにエラーが発生します。
java.lang.NoSuchMethodError:org / apache / commons / codec / binary / Base64.decodeBase64(Ljava / lang / String;)
クレイジーなことは、それは私が1つのテストを選択し、それを実行:EclipseのJUnitテストで実行する場合にのみ発生することです。Mavenですべてを実行すると、すべてが正常に機能します。
JUnit4.8.1とEclipseIndigoService Release 2を、Websphere、GWT、Maven用のプラグインとともに使用しています。」