最近、問題が発生しました
java.security.NoSuchAlgorithmException: アルゴリズム HmacSHA1 が利用できません
この単純なコードを使用して、問題を特定しようとしました:
import java.security.NoSuchAlgorithmException; import javax.crypto.Mac; public class Main { public static void main(String... args) { final String HMAC_SHA1_ALGORITHM = "HmacSHA1"; Mac instance; try { instance = Mac.getInstance(HMAC_SHA1_ALGORITHM); } catch (NoSuchAlgorithmException e) { final String errmsg = "NoSuchAlgorithmException: " + HMAC_SHA1_ALGORITHM + " " + e; // ... } } }
問題は、これが私の Eclipse インスタンスの 1 つで機能し、他のインスタンスでは機能しないことです。すべて新しい Java プロジェクトを使用してテストし、上記を貼り付けて実行したため、これはEclipse インスタンス間の設定の違いによるものです。
関連すると思われるすべての設定 (クラスパス、JRE、Java コンパイラ) を調べてみましたが、見た目が変わったり、変更しても機能するものはありません。(誰かが 2 つの Eclipse の設定を「比較」する方法を知っている場合は、教えてください!)
私は単純に 3 つ目の Eclipse を使用することに頼っています ((これまでのところ) 動作します) が、この潜在的に腹立たしい問題が実際に何に起因するのかを知ることは依然として興味深いでしょう。