Prohibited package name: java异常原因

今天用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 ,所以修改包名即可解决异常。


具体原因参考: http://idealab.iteye.com/blog/452404 ,如下: 这条安全异常是由Java类加载的“双亲委派模型”所导致的。在双亲委派模型中,由父加载类加载的类,下层加载器是不能加载的。本例中最高层加载器BootstrapClassLoader加载了classpath路径下所定义的java. 包内的类,而java.research包就不能由BootstrapClassLoader的下层加载器AppClassLoader加载了。这也是java安全机制中对于恶意代码所采取的防护措施。* java .lang.SecurityException: Prohibited package name: java .lang at java .lang.ClassLoader.preDefineClass(ClassLoader. java :659) 就是这个 package 不能在lang包下 介绍和概述 什么是node.js? Node.js:registered:是基于Chrome的V8 Java Script引擎构建 Java Script运行时。 Node.js使用事件驱动的非阻塞I / O模型,从而使其轻巧高效。 Node.js的软件包生态系统npm是世界上最大的开源库生态系统-nodejs.org V8 Java script引擎 V8是用C ++编写的Google开源高性能 Java Script和WebAssembly引擎。 它用于Chrome和Node.js等。 Node.js使用带有事件循环的单线程模型,这就是为什么要强制采用异步编程风格的 原因 。 阻塞与非阻塞 不好 : prohibited : // Blocking const fs = require ( 'fs' ) ; const data = fs . readFileSync ( '/ :cat: 会员猫 一个渐进式Web App演示,展示了各种不稳定的网络恢复措施。 核心思想是模拟由虚拟lorem ipsum类型的API代理的具有各种API调用(例如,价格,星级,评论,位置,照片)的会员或比较应用,其中转换操作是点击进入第三方并放置联盟Cookie(这是应用程序永远不会丢失的点击)。 该应用程序被用作随附的YouTube系列丛书中的运行示例,该系列称为“ 。 :eyes: 观看演示 在以下位置玩应用 :backhand_index_pointing_right: :backhand_index_pointing_left: 。 :microscope: 尝试的事情 在理想的条件下使用该应用程序:您应该能够自由地单击并浏览,内容应该总是延迟加载。 搜索内容:您应该可以搜索带有并带有图像的任何内容,例如“ Ember 2.0 发布后,将不再维护带有 Ember 的 Tapas。 请改用 。 带 Ember 的小吃 用于快速开发的骨架。 包括 Ember 安装脚本、特定于环境的构建、生成器和支持。 pow.cx Ember.vim 支持 使用 Ember 更新小吃 Ember 安装脚本- Cakefile 脚本用于安装最新的 Ember、Ember Data 和 Ember 模型。 环境- 允许在浏览器和编译时进行环境检测的自定义代码。 在生产时自动使用 Ember 的生产构建,就像ember-rails 一样。 自动文件加载- 自动加载您的代码,不需要脚本标签或多余的代码。 Ember.vim支持-轻松导航和创建模型、控制器、模板和视图。 早午餐插件 摘要早午餐- 在您的生产版本中为您的资产添加一个独特的 SHA。 针对暂存的git文件运行linters,不要让 :pile_of_poo: 进入您的代码库! 在提交代码之前运行时,linting更有意义。 这样,您可以确保没有错误进入存储库并强制执行代码样式。 但是,在整个项目上运行皮棉过程的速度很慢,棉绒的结果可能无关紧要。 最终,您只希望处理将提交的文件。 该项目包含一个脚本,该脚本将运行任何shell任务,并以指定的glob模式过滤后的一系列暂存文件作为参数。 相关博客文章和讲座 如果您已经撰写了一份,请提交PR及其链接! 安装与设定 开始使用lint-staged的最快方法是在终端中运行以下命令: npx mrm lint-staged 人生低谷不可怕,可怕的是坚持不到人生转折点的那一天。1、单元格测试类包路径( java .com.xudongbase)和Application启动类包路径(com.xudongbase)不一致,导致报错。 Exception in thread "main" java .lang.SecurityException: Prohibited package name: java at jav 问题描述: Cannot instantiate test(s): java .lang.SecurityException: Prohibited package name: java 我的代码: public class StringTest { @Test public void test1(){ String s1 = "abc";//字面量的定义方式 String s2 = "abc"; s1 = "hello"; Nextcloud的文件访问控制应用程序使管理员能够保护数据免遭未经授权的访问或修改。 这个怎么运作 管理员可以创建和管理一组规则组。 每个规则组都包含一个或多个规则。 如果组中的所有规则均成立,则该组与请求匹配,并且访问被拒绝或上载被阻止。 规则标准的范围从IP地址,模仿类型和请求时间到组成员身份,标签,用户代理等。 一个示例是拒绝访问“人力资源”组所拥有的MS Excel / XLSX文件,这些文件是通过不在公司内部网络上的IP访问的,或者阻止“第一年”组中的学生上传大于512 mb的文件。 在上了解有关文件访问控制的更多信息 主分支上的质量检查指标: 缩小 CSS / 丑化 JS 版本文件( styles.min.css >> styles.min-69fb84d1.css ) 在浏览器/设备之间同步对 CSS/JS/HTML/PHP 的更改 ( ) 您还可以密切关注您的测试。 这些都有自己。 要使用 ,你需要在你的机器上安装一些程序: (推荐在 Windows 上使用) 如果你想运行 ,那么你还需要安装: (Windows 用户:解压并更新您的 PATH) 安装 Gulp 和依赖项 首先,在你的机器上全局安装Gulp :(仅一次) npm install -g gulp 在您的机器上全 2、进行配置时,产生如下错误:Error occured processing XML 'org/springframework/transaction/interceptor/Transact 异常 错误:Cannot instantiate test(s): java .lang.SecurityException: Prohibited package name: java .com.crosudd.test 错误 原因 :是在测试包:包名出现了 java .com.crosudd.test java 开头 java 虚拟机不允许包名以 java 开头,一般 Java 自己实现的一些类的路径比如Strin...