2015-12-29 23 views
5

ここに私が最近尋ねた質問があります:org.apache.commons.codec.digest.Md5Crypt.md5Crypt function. exception occured under linux, but fine under windowstomcatとjdkとwebアプリケーションの関係は何ですか?

最後に、私はそれを解決しましたが、私はまだ混乱しています。何が起こったのですか?

私のjdkは1.7、私のtomcatは7、私のWebアプリケーションはjdk 1.7でコンパイルされ、commons-codec.jarのバージョンは1.10でした。例外がスローされました。

java.lang.IllegalAccessError: tried to access method org.apache.commons.codec.digest.DigestUtils.getMd5Digest()Ljava/security/MessageDigest; from class org.apache.commons.codec.digest.Md5Crypt 

私がtomcatを7から8に変更したところ、うまくいきました。どうして? Tomcatはアプリケーションに対して何をしますか?

+0

両方のTomcatがJava 7を使用していたことは確かですか? –

+0

はい、私はこれについて確信しています。どちらのtomcatsもJAVA_HOMEを使用しています。 –

答えて

2

私は強くあなたがTomcatの8の代わりに7を使用しているため、問題が解決されなかったことを示唆しているが、あなたは、実行時にcommons-codec JARの2つの異なるバージョンを持っていたことを意味し、あなたのJavaのビルド・パスに競合があったので、それが解決されましたおそらくあなたのtomcat 7 libフォルダに1つありました。

+0

あなたの前のビルドパスをチェックして、クレームを確認または反論することができます! – QuakeCore

+0

私はそれを前にチェックしました!私はjarを管理するためにmavenを使用していますが、コモンズコーデックジャーが1つしかないと確信しています。 tomcatは新規にダウンロードされました。 –

+0

あなたは正しかった、私は別のコモンズコーデックがサードパーティ製のjarファイルによってWEB-INF/libフォルダに含まれていて、mavenによって管理されていないことを発見しました。私はこの醜いjarファイルを削除しました。うまくいきます。今私は "私はこの問題を解決する"と言うことができます、そうですか?ありがとうございました! –

関連する問題