发现当源文件中含有package时,编译运行有问题了(前提是环境变量没问题),大概的问题如下:
1. 普通程序,按照正常方式
javac xxxxx.java
java xxxx
编译运行的话,会出现找不到main方法,提示:Exception in thread "main" java.lang.NoClassDefFoundError 的异常
2. 如果是Applet,按照1中方式编译,然后使用
appletviewer xxxx.htm
运行的话,出现的窗口会显示不全。
若是把xxxx.html直接使用IE打开(我的是IE8),会出现错误,右键点开提示,发现运行错误仍是提示:Exception in thread "main" java.lang.NoClassDefFoundError 的异常。
(以下假设包的路径为A.B.C ,Java文件为xxxx.java,HTML文件为xxxx.html)
然后自己网上找了一下,试了几个方法都不行,或许是自己操作不对。但是以下方法是正确的了,留此做备忘。
1. 编译时,使用
javac –d . xxxx.java (注意–d^.^xxxx.java 中^位置上的空格 )
这样会生成package路径
2. 运行时
java A.B.C.xxxx
这样就OK了。
如果是applet,则运行不变,但是要把HTML文件中的
<applet code="xxxx.class"">
改为
<applet code="A.B.C.xxxx.class"> 即可。