情况一 Eclipse编译后的带包的文件的在命令行中不能运行的问题及解决办法

问题陈述:本人将EClipse的工作路径设为C:\software\eclipseworks,并建了一个名为MyFirstJAVA的项目,文件结构如下图

然后在Eclipse里面进行编译 得到的文件结构如下(其中MyFirstClass位于C:\software\eclipseworks目录下) :

然后运行下面任务,将出现下面情况

错误提示的意思是找不到类,但是让我们运行如下命令时则能出现正确结果如下:

 

情况二 带包的java类在命令行中的如何编译和执行

假设在C:\JavaDemo文件夹下有类Hello.java,其源码如下:

package cn.sun.hello;

public class Hello {

         public static void main(String[] args) {

                   System.out.println("Hello World!");

         }

     }

方法一:

编译:

C:\JavaDemo>javac Hello.java

新建目录:

         C:\JavaDemo>md cn\sun\hello

移动字节码文件Hello.cass到 .\cn\sun\hello文件夹下。

         C:\javaDemo>move Hello.class .\cn\sun\hello

执行程序:

         C:\JavaDemo>java cn.sun.hello.Hello

输入结果:

         Hello World!

以上仅提供一种简单方法,参考而已.

方法二:

c:\JavaDemo>Hello.java

编译:

c:\JavaDemo>javac -d . Hello.java

执行:

c:\JavaDemo>java cn.sun.Hello

总结 java中的包表现在文件系统中就是文件夹,我们在编译直接找到.java文件所在的目录利用javac (你要编译的文件名).java

但在执行过程中首先依据包的层次建立文件夹 将编译后的文件.class拷贝到最底层文件夹下 然后转到不包含包文件夹的最底层文件夹下,用如下格式执行这个class文件:

java  包名1.包名11.-------.(编译生成的文件名).class

就能执行了,其中包名1和包名11表明包的层次结构 。 

 

posted on 2010-12-05 13:00  liuling2010  阅读(572)  评论(0编辑  收藏  举报