如何在命令提示符下编译运行含有Package的java文件

这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇。看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁,为命令提示符上打印出的图案而兴奋。到现在我依然觉得,一个从没有过编程经验的人在屏幕上打印出Hello World 的时候,他真的感觉是对一个全新的世界说了句“你好,我来了”。

尽管现在来看那时候遇到的问题现在看来真的是很简单,甚至可以说是很蠢的,但我依然感激当初那个再图书馆写代码的自己。正是这一点一滴简单的愚蠢的积累才有了今天的编程能力,现在我可以自己开发一个网站后台,这在当时的我看来是绝对不敢相信的事。

因此我也希望对刚接触编程的朋友们说一句,如果你想学编程,不要好高骛远,只需要从一点一滴做起,积累遇到的问题(如果有精力还应该写成博客),坚持写代码,总有一天你会感激自己当初的坚持的。因为很多时候最重要的事情并不是你究竟做到了何种程度,而是你究竟有没有做,坚持做一件事,并为之付出努力,这就是成功(狭义的)的方法。


在用Eclipse编译运行java文件时不用考虑Package的问题,但是如何在命令提示符下运行添加Package后的java文件呢?
package test;
import test.B;
public class A {

 public static void main(String[] args) {
      B b=new B();
      b.print();
 }

}
package test;
public class B {
void print(){
System.out.println("ok!");
}
public static void main(String[] args) {
}

}

我在D:\workspace\test\src\test目录下有两个.java文件A.java和B.java,那么我该如何编译这两个文件呢?此时用命令提示符执行javac语句编译A.java会显示错误
如何在命令提示符下编译运行含有Package的java文件_第1张图片

我们在A中调用了B中的方法,所以只编译A,B是不会被编译的。要解决此问题需要同时编译A和B。而A和B同在test包 下,所以我们找到test所在目录D:\workspace\test\src,在cmd中执行命令 java .\test*.java 。此时A和B两个文件同时编译通过了。
712911-20171213170911176-1212192419.png

再用java命令去执行A,发现直接用java A来运行会报错。切换到A所在的D:/workspace/test/src/test 目录下执行依然会报错。由于我们之前的编译的时候是在Package所在的目录,那么我执行的时候要执行test下的A文件。

在D:\workspace\test\src 目录下执行java test.A ,运行成功。
712911-20171213171008347-1546804205.png

转载于:https://www.cnblogs.com/rever/p/8033911.html

你可能感兴趣的:(java,开发工具)