Exception in thread "main" java.lang.NoClassDefFoundError
最近看到胡杨他们在玩一个Java的小游戏,“坦克大战”。自己用Java写一个类,当然这里游戏里已经设计好了很多接口,自己只需要编写里面的东西就ok了。说白了就是锻炼算法。目前我的水平还没有到具体的编码过程。Java是我们下个学期才学的,额……不得不感叹:层次不同连玩的东西都不一样。
争光给了Java的环境(JDK (Java Development Kit))安装好了之后什么反应也没有,问了问争光,一副深不可测的样子说“这就对了~~”我了个去!之后就是配置环境变量了,好了正式进入主题……
环境变量从网上查了查,说白了就是给一个变量,这个变量可以是个值也可以是个路径(貌似路径也是值,额……)。这个变量是为了更好的让系统和程序配合来完成工作的。就那Java的配置环境变量来说,它告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找。不管怎么样吧,通过网上的例子和争光的知道总算把这个东西搞定了。接下来就是运行一个简单的HelloWorld程序。问题来了,在记事本里贴上来代码,编译也行就是执行不了,总是说Exception in thread "main" java.lang.NoClassDefFoundError额……
搞了半天还是不行,后来才知道改变环境变量需要重启生效!接下来就看到了盼望已久的HelloWorld了。
思考:为什么改变环境变量需要重启,貌似电脑的部分操作也需要重启,为什么呢?
道理其实很简单,网上的一个比喻很恰当。某天上帝需要改变原子的结构了怎么办?重启整个世界就ok了!你的明白?也就是说,你目前正在用的东西(大部分是底层的东西)不能马上生效,也就是说上帝不可能为了改变原子的结构而重新对每个原子进行操作,它所能做的就是终结世界然后从新的规则开始。所以如果下次做了什么底层的操作不起作用,那就重启吧!
God,比喻的太恰切了~~