Java安全NoSuchAlgorithmException仅在三个Eclipse实例中的一个实例中出现

Java安全NoSuchAlgorithmException仅在三个Eclipse实例中的一个实例中出现,java,eclipse,security,settings,Java,Eclipse,Security,Settings,最近有个问题 java.security.NoSuchAlgorithmException:算法HmacSHA1不可用 尝试使用以下简单代码隔离问题: 问题是,这在我的一个Eclipse实例中有效,而在另一个实例上无效。所有这些都使用新的Java项目进行测试,粘贴上面的内容并运行,所以这应该是由于Eclipse实例之间的一些设置差异造成的 我试着浏览了所有看似相关的设置(classpath、JRE、java编译器),但没有任何看起来不同的设置,也没有任何更改可以使其正常工作。(如果有人知道如何“

最近有个问题

java.security.NoSuchAlgorithmException:算法HmacSHA1不可用

尝试使用以下简单代码隔离问题:

问题是,这在我的一个Eclipse实例中有效,而在另一个实例上无效。所有这些都使用新的Java项目进行测试,粘贴上面的内容并运行,所以这应该是由于Eclipse实例之间的一些设置差异造成的

我试着浏览了所有看似相关的设置(classpath、JRE、java编译器),但没有任何看起来不同的设置,也没有任何更改可以使其正常工作。(如果有人知道如何“区分”两次日食的设置,一定要告诉他们!)


我正在求助于简单地使用第三个Eclipse(到目前为止,它在这里工作),但是了解这个潜在的恼人问题到底是什么仍然是很有趣的

我在使用Eclipse和tomcat时遇到了同样的异常,我所做的是:


在TOMCAT 8配置上重新加载JDK,它就开始工作了

可能的实例?:我已经读过这个问题,我想它可能是相关的,但由于它是由一个脚本(“启动脚本…”)启动的,所以我认为它会有很大的不同,不相关。我尝试了其中的“addProvider()”部分,没有任何区别。我认为,如果图书馆在某个“错误的地方”,那将是非常奇怪的。它在一次日食中起作用,所以我认为它应该(但你永远不知道)与日食有关。
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;
          // ...
      }

  }
}