Java com.sun.crypto.provider.SunJCE的NoClassDefFoundError

Java com.sun.crypto.provider.SunJCE的NoClassDefFoundError,java,eclipse,jar,Java,Eclipse,Jar,我编写了一个在eclipse中正确运行的小程序,但是当我创建了一个jar并试图运行相同的代码时,我在线程“main”java.lang.NoClassDefFoundError:com.sun.crypto.provider.SunJCE中得到了异常 请建议。 谢谢请确保: 运行jar时,您正在使用Oracle的JavaSE。默认情况下,其他JVM没有此提供程序 您已经在运行jar的JVM上安装了java无限权限策略文件 请注意,您可以使用以下代码检查可用的提供程序和算法: import j

我编写了一个在eclipse中正确运行的小程序,但是当我创建了一个jar并试图运行相同的代码时,我在线程“main”java.lang.NoClassDefFoundError:com.sun.crypto.provider.SunJCE中得到了
异常
请建议。
谢谢

请确保:

  • 运行jar时,您正在使用Oracle的JavaSE。默认情况下,其他JVM没有此提供程序
  • 您已经在运行jar的JVM上安装了java无限权限策略文件
请注意,您可以使用以下代码检查可用的提供程序和算法:

import java.security.Provider;
import java.security.Security;
import java.util.Enumeration;

public class MainClass {
  public static void main(String[] args) throws Exception {
    try {
      Provider p[] = Security.getProviders();
      for (int i = 0; i < p.length; i++) {
          System.out.println(p[i]);
          for (Enumeration e = p[i].keys(); e.hasMoreElements();)
              System.out.println("\t" + e.nextElement());
      }
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}
导入java.security.Provider;
导入java.security.security;
导入java.util.Enumeration;
公共类主类{
公共静态void main(字符串[]args)引发异常{
试一试{
Provider p[]=Security.getProviders();
for(int i=0;i
找到。

请确保:

  • 运行jar时,您正在使用Oracle的JavaSE。默认情况下,其他JVM没有此提供程序
  • 您已经在运行jar的JVM上安装了java无限权限策略文件
请注意,您可以使用以下代码检查可用的提供程序和算法:

import java.security.Provider;
import java.security.Security;
import java.util.Enumeration;

public class MainClass {
  public static void main(String[] args) throws Exception {
    try {
      Provider p[] = Security.getProviders();
      for (int i = 0; i < p.length; i++) {
          System.out.println(p[i]);
          for (Enumeration e = p[i].keys(); e.hasMoreElements();)
              System.out.println("\t" + e.nextElement());
      }
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}
导入java.security.Provider;
导入java.security.security;
导入java.util.Enumeration;
公共类主类{
公共静态void main(字符串[]args)引发异常{
试一试{
Provider p[]=Security.getProviders();
for(int i=0;i

找到。

检查Jar文件
sunjce\u provider.Jar
是否在类路径中。通常它位于目录
$JAVA\u HOME/lib/ext

中,请检查Jar文件
sunjce\u provider.Jar
是否在类路径中。通常它位于OpenJDK中的目录
$JAVA\u HOME/lib/ext

中,它也包含在
http://grepcode.com/search/?r=repository.grepcode.com$java$root&start=0&query=com.sun.crypto.provider.SunJCE&entity=type
您能为这个问题添加一些说明吗?在OpenJDK中,它也包括在内
http://grepcode.com/search/?r=repository.grepcode.com$java$root&start=0&query=com.sun.crypto.provider.SunJCE&entity=type
能否请您对这个问题多加说明?