关于命令提示符下编译和运行Java文件的小东西
2012-09-15 11:31
267 查看
在E盘下新建一个文件夹a,a下有两个文件夹b和c。目录结构为:
a---
--b
--c
在b目录下建立java文件B.java,其代码如下:
在c目录下,新建java文件C.java,其代码如下:
现在如果我们要在命令提示符下利用javac和java命令进行编译和运行:
首先,进入到a-->b目录下,输入javac B.java,会出现如下错误:
![](http://img.my.csdn.net/uploads/201209/15/1347680703_5390.png)
可以看到缺少关于C类的信息,会不会是因为C.java没有编译的原因呢?因为在B类中引用了C类的信息,所以我们先把C.java编译了,进入到a-->c目录,输入javac C.java,得到如下信息:
![](http://img.my.csdn.net/uploads/201209/15/1347680712_3392.png)
可见编译通过了,在返回到b目录下,重新输入javac B.java命令,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680719_3904.png)
还是不可以,现在想一下,由于我们是在b目录下进行执行的javac命令,而b目录下是没有关于C类的信息的,我们应该返回到B类的上层目录进行编译才对,所以进入a目录下,重新执行命令,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680725_6931.png)
还是有错误,这是因为javac命令不识别这样的带有包标注的b.B.java参数,我们改变方式:
![](http://img.my.csdn.net/uploads/201209/15/1347680732_9352.png)
可见,这回是编译通过了,点号表示当前目录,加上b目录,就可以定位到B.java了,而且可以自动关联到C类,捎带着把C先编译了。
现在运行一下,依然在a目录下,输入java .\b\B 得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680739_3646.png)
现在又找不到类了,看来是输入的有问题,无法定位到B类。现在改变输入方式,去掉.\b,因为这个时候需要带着B的包名才可以,记得此时B类已经编译结束了,所有的信息都在B的class文件中了,输入javab.B,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680745_1874.png)
这回成功了!
可见,在javac命令执行的时候,需要到类的父目录去运行,同样,java命令也是必须到类的根目录去运行,这样才能把其他引用到的或者相关的类包含进来,在运行java命令的时候还要注意不要忘记类的包名~
写完收工,饭去~
a---
--b
--c
在b目录下建立java文件B.java,其代码如下:
package b; import c.C; public class B{ public static void main(String args[]){ Cc = new C(); c.disp(); } }
在c目录下,新建java文件C.java,其代码如下:
package c; public class C{ public void disp(){ System.out.println("hello~"); } }
现在如果我们要在命令提示符下利用javac和java命令进行编译和运行:
首先,进入到a-->b目录下,输入javac B.java,会出现如下错误:
![](http://img.my.csdn.net/uploads/201209/15/1347680703_5390.png)
可以看到缺少关于C类的信息,会不会是因为C.java没有编译的原因呢?因为在B类中引用了C类的信息,所以我们先把C.java编译了,进入到a-->c目录,输入javac C.java,得到如下信息:
![](http://img.my.csdn.net/uploads/201209/15/1347680712_3392.png)
可见编译通过了,在返回到b目录下,重新输入javac B.java命令,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680719_3904.png)
还是不可以,现在想一下,由于我们是在b目录下进行执行的javac命令,而b目录下是没有关于C类的信息的,我们应该返回到B类的上层目录进行编译才对,所以进入a目录下,重新执行命令,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680725_6931.png)
还是有错误,这是因为javac命令不识别这样的带有包标注的b.B.java参数,我们改变方式:
![](http://img.my.csdn.net/uploads/201209/15/1347680732_9352.png)
可见,这回是编译通过了,点号表示当前目录,加上b目录,就可以定位到B.java了,而且可以自动关联到C类,捎带着把C先编译了。
现在运行一下,依然在a目录下,输入java .\b\B 得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680739_3646.png)
现在又找不到类了,看来是输入的有问题,无法定位到B类。现在改变输入方式,去掉.\b,因为这个时候需要带着B的包名才可以,记得此时B类已经编译结束了,所有的信息都在B的class文件中了,输入javab.B,得到:
![](http://img.my.csdn.net/uploads/201209/15/1347680745_1874.png)
这回成功了!
可见,在javac命令执行的时候,需要到类的父目录去运行,同样,java命令也是必须到类的根目录去运行,这样才能把其他引用到的或者相关的类包含进来,在运行java命令的时候还要注意不要忘记类的包名~
写完收工,饭去~
相关文章推荐
- 如何在命令提示符下编译运行含有Package的java文件
- 关于命令行中javac 编译成功,用 java 运行 class 文件出现 “ 找不到或无法加载主类 ” 的问题
- 关于java文件编译后,同一个文件出现"$"的class
- 关于Java的socket服务端项目如何打包成exe文件运行在服务器上。
- java jdk路径配置/编译java文件/运行java类 /dos进入D盘
- 手工编译、运行JavaSE项目,且此项目需要第三方jar包支持,且文件中有打包。 分类: java 2010-03-27 10:37 1057人阅读 评论(0) 收藏
- 创建用于编译和运行Java程序的批处理文件
- java第一课:java第一课:如何在命令行模式下编译运行带包的java文件
- <Android Studio>Gradle -- 如何编译单个java文件并运行其class
- 在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题解决起来很简单
- java文件编译运行----‘’足球论之java文件运行编译先编译‘’
- 如何在命令行模式下编译运行带包的java文件
- 用bat批处理文件去编译及运行小的java代码
- dos命令编译,运行java源代码文件
- java中关于编译期间和程序运行期间的对象的处理
- 加载依赖的jar包在命令行编译和运行java文件
- 在windows命令行下编译*.java文件,并运行
- 命令提示符下编译运行java工程
- mac 环境下 编译运行第一个java文件