一些曾经或者现在使用Java使遇到的坑。
1. 利用DOS中调用Java命令来运行字节码(.class文件)需要加上包名:
如下图:
主类Robot1的包名为pkg1,如果需要在DOS中利用Javac编译与Java命令运行则需要创建一个文件夹pkg1然后把源码文件.java放进去,在DOS中进入利用javac pkg1/Robot1.java进行编译,然后在运用java pkg1.Robot1 进行运行。
Java主类文件头定义:
Windows文件目录:
具体DOS命令步骤:
可以看出,其中编译命令javac是把pkg1当作一个文件夹目录,而运行命令java则把pkg1当作主类Robot1的包名前缀,如果直接在DOS中进入pkg1路径下,然后直接javac Robot1.java或者java Robot1则会出现无法意想不到的报错。
DOS直接进入pkg1路径执行 javac Robot1.java命令:
DOS直接进入pkg1路径执行 java Robot1命令:
所以说如果在集成环境中写好的项目想要利用DOS命令来运行,以Eclipse为例,可以直接打开项目文件夹下的src源码,将其中的文件夹(其实就是包)统统复制到你需要运行的文件位置:
如复制到cmd的初始路径C:/users/Administrator,这里的Administrator为你计算机名,我的是bush,所以cmd默认打开路径就是C:/users/bush
然后打开DOS,操作方法同前文,即可在DOS下调用Java程序:
这一类坑在新学Java时经常遇到,关于包名与主类名的关系。