最近自己想写几个小demo, 在给包名取名字的过程中纠结了半天, 都有com.google这样的包名, 我想想半天最终决定java.*.*这种包名。
噩梦就开始了, 刚开始写了个使用Calendar的一小段代码, 但是运行时候竟然报异常。
异常如下图:
java.lang.SecurityException: Prohibited package name: java
从来没见过弹出对话框、带这种提示的异常。
自己代码也没有问题啊。
幸好能够打印出堆栈信息, 安了个jadclipse, 反编译进去看, 才发现在加载的时候他明确的有一段代码是检查包名是否是以"java."开头的, 不知道为什么, 苦思良久, 还是没想通, 但是问题倒是明白了。
后面google下, 有人说:java的大部分包都是以java.开头的, 可能怕出现相同的情况?
这个答案还是比较有说服力的。