今天用eclipse创建了一个java project,然后建了一个名为“java”的文件夹,当启动里面的主函数时,出现如下异常:
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.lang.ClassLoader.preDefineClass这个类对运行的类名做了检查,如果以“java”作为1级包名的话,则会抛出异常:Prohibited package name: java,所以修改包名即可解决异常。