最近遇到了问题
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实例中有效,而在另一个实例中无效。所有测试都使用New Java Project,粘贴以上内容并运行,因此应该是由于Eclipse实例之间的某些设置差异。
我试图浏览所有看似相关的设置(classpath,JRE,java编译器),但看起来不同或者如果改变它就会工作。 (如果有人知道如何“区分”两个日食的设置,请告诉!)
我只是使用第三个Eclipse(它工作的地方(到目前为止)),但要了解这个潜在的真正问题到底是什么仍然很有趣。
答案 0 :(得分:0)
我使用Eclipse和tomcat进行了相同的Exception,我所做的是:
通过TOMCAT 8配置重新加载JDK,它开始工作