本来在Eplise里面,debug code,挺好的。
由于学习Socket,需要创建Server 和 Client 端,就打算用命令行的方式编译和运行java程序。
发现出了错误,总是出现 " Can not find or load main"... 经过重新设置环境变量和重新安装JDK以及重新写代码都无济于事。
最后发现了一个小信息,就是现在写的代码里边,比之前多了一行 "package test".
也就意味着,我做了打包处理。
那么我从这个差别点入手,寻找结局方法。
1. 取出 "package“ 这行代码。沿用老的方法编译和运行,结果,运行成功。
则证明,确实是 package 引起的问题。
然后,再网络上搜索,终于知道自己问题在哪里了:
打包的java程序,在编译的时候,也要把路径编译出来。
commandline: javac -d . test.java. => 这样编译后会生成一个 package 名字的folder,以及一个 test.class 文件在folder里面。
解析来运行的时候,应该这样 java test.test => 注意这里的层级关系是用 . 来表示。