Java 发生了JNI错误,我刚刚删除并重新安装了jdk

Java 发生了JNI错误,我刚刚删除并重新安装了jdk,java,Java,我以前有这个问题,但问题仍然没有解决。运行下面的代码时,会显示消息“发生JNI错误,请检查您的安装…”等。我已删除并重新安装jdk,确保它是最新的。我重置了变量路径,但仍然出现相同的错误 package java; public class javautilArrays { public static void mian(String[] args) { char[] copyFrom = {'d', 'd', 'c', 'a', 'f', 'f', 'e', 'n',

我以前有这个问题,但问题仍然没有解决。运行下面的代码时,会显示消息“发生JNI错误,请检查您的安装…”等。我已删除并重新安装jdk,确保它是最新的。我重置了变量路径,但仍然出现相同的错误

package java;
public class javautilArrays {
    public static void mian(String[] args) {
        char[] copyFrom = {'d', 'd', 'c', 'a', 'f', 'f', 'e', 'n', 'a', 't', 'e', 'd'};
        char[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 9);
        System.out.println(new String(copyTo));
    }
}
在控制台终端中,出现以下消息:

Exception in thread "main" java.lang.SecurityException: Prohibited package name: java
    at java.lang.ClassLoader.preDefineClass(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
错误显示为“禁止的包名:java”,如果查看代码顶部,就会看到
包java
。这不是有效的包名称,您必须更改它

您提到的错误不在堆栈跟踪中。

错误显示“禁止的包名:java”,如果查看代码顶部,您会看到
包java
。这不是有效的包名称,您必须更改它


您提到的错误不在堆栈跟踪中。

不要对变量、方法和包使用通用名称。 请看代码的第一行

package java;
您必须将包的名称更改为其他名称。 您没有提到要使用哪个IDE来开发程序,但如果您使用eclipse或netbeans,则必须重新创建项目并删除此IDE

在上面的代码中,您试图向java包(本机安装)添加一个新类,这显然是不允许的,因为java不是OTF类型的编译器。只需将包名从java更改为其他名称。 如果您查看所附的回溯,它将您的项目称为未知源

如果这个答案有效,不要忘记接受它

祝你好运


Iman不要对变量、方法和包使用通用名称。 请看代码的第一行

package java;
您必须将包的名称更改为其他名称。 您没有提到要使用哪个IDE来开发程序,但如果您使用eclipse或netbeans,则必须重新创建项目并删除此IDE

在上面的代码中,您试图向java包(本机安装)添加一个新类,这显然是不允许的,因为java不是OTF类型的编译器。只需将包名从java更改为其他名称。 如果您查看所附的回溯,它将您的项目称为未知源

如果这个答案有效,不要忘记接受它

祝你好运



Iman将包名更改为其他名称。创建一个新包并将此类移动到该包。

将包名更改为其他名称。创建一个新包并将该类移动到该包。

在该消息中,它在哪里说“发生了JNI错误”?您的错误是
禁止的包名称:java
。顺便说一句,您的方法应该被称为
main
,而不是
main
。实际出现的错误消息(“禁止的包名:java”)是因为您正试图根据
包java
语句在包
java
中创建一个类。这是不允许的。选择您自己的包名,或者甚至完全忽略任何
声明,从而使用匿名包。有一个弹出窗口说发生了JNI错误,我之前刚刚关闭了它。然后其余的异常在底部终端出现。另外,我重新输入了这个,而不是仅仅复制和粘贴它,但在我的程序中,我确实拼写了main right。最后,我尝试删除行“package java;”,但出现了相同的错误,仍然在顶部显示“禁止的包名:java”,在该消息的哪里显示“发生了JNI错误”?您的错误显示为
禁止的包名:java
。顺便说一句,您的方法应该被称为
main
,而不是
main
。实际出现的错误消息(“禁止的包名:java”)是因为您正试图根据
包java
语句在包
java
中创建一个类。这是不允许的。选择您自己的包名,或者甚至完全忽略任何
声明,从而使用匿名包。有一个弹出窗口说发生了JNI错误,我之前刚刚关闭了它。然后其余的异常在底部终端出现。另外,我重新输入了这个,而不是仅仅复制和粘贴它,但在我的程序中,我确实拼写了main right。最后,我尝试删除行“packagejava”;但出现了相同的错误,仍然在顶部说“禁止的包名:java”,我尝试删除它,但它仍然说“禁止的包名:java”。我会把它改成什么?不要只是删除行,那样会把类移出包,但是你创建的包仍然存在。你可以在你使用的任何ide中从项目结构视图中删除它。我刚才让它工作了,但现在决定重新访问它。现在对我来说这很有意义。ThanksI试图删除它,但它仍然说“禁止使用的包名:java”。我会把它改成什么?不要只是删除行,那样会把类移出包,但是你创建的包仍然存在。你可以在你使用的任何ide中从项目结构视图中删除它。我刚才让它工作了,但现在决定重新访问它。现在对我来说这很有意义。谢谢,所以我删除了workspace文件夹中以前的所有项目,但它们又回来了,每当我尝试运行名为“Joe”的新代码时,我都会收到这条消息。“检索资源“/Switch Case/src/java/javautilArrays.java”的内容描述时出错。找不到文件:C:\Users\Michael1\workspace\Switch Case\src\java\javautilArrays.java。”明白了,只需将公共静态void main(字符串[]args)添加到它,您不需要删除项目,只需删除package.zar,我很肯定他没有一个多包项目。项目的主包定义保存在项目文件中,不会通过删除