当前位置: 代码迷 >> Java Web开发 >> Java命令行执行程序研讨。
  详细解决方案

Java命令行执行程序研讨。

热度:84   发布时间:2016-04-14 20:40:06.0
Java命令行执行程序探讨。。。
假设当前文件夹为: abc,下有1个文件HelloWorld.java和 文件夹HelloWorld(该文件夹下有一个HelloWorld2.java)

HelloWorld.java内容如下:


public class HelloWorld {

public static void main(String[] args) {
// TODO Auto-generated method stub

System.out.println("Hello World....asdf11111111111111ads");
}

}


HelloWorld2.java内容如下:

package HelloWorld;
public class HelloWorld2 {

public static void main(String[] args) {
// TODO Auto-generated method stub

System.out.println("Hello World....asdf11111111111111ads");
}

}


我们只要执行javac HelloWorld.java 和 java  HelloWorld就可以执行程序了。
但是对于HelloWorld2.java,我们必须执行: javac HelloWorld/HelloWorld2.java和java HelloWorld/HelloWorld2才能运行。


因此我怀疑执行java命令时, JVM是考虑到“package HelloWorld;”的。

只要包含"package HelloWorld;", 就不能在当前目录执行HelloWorld了,必须包含全部的路径。。。

------解决思路----------------------
是滴 
package包路径是java类的一部分
java的类在JVM中都是按照package1.package2.ClassName 的方式存在的,所以执行的时候,必须加上package路径
  相关解决方案