java环境变量设置过了,而且可以使用javac编译文件,但是得到的.class文件却无法执行
以下为终端的显示:fan@fan-Satellite-Pro-L600:~/java/core_java/v1ch02/ImageViewer$ javac ImageViewer.java
fan@fan-Satellite-Pro-L600:~/java/core_java/v1ch02/ImageViewer$ java ImageViewer错误: 找不到或无法加载主类 ImageViewer
fan@fan-Satellite-Pro-L600:~/java/core_java/v1ch02/ImageViewer$ java ImageViewer.class
错误: 找不到或无法加载主类 ImageViewer.class
fan@fan-Satellite-Pro-L600:~/java/core_java/v1ch02/ImageViewer$ 求助

解决方案 »

  1.   

    classpath没有配置或者配置不对。
      

  2.   


    你的ImageViewer.java中,去掉package,然后再试试。
      

  3.   

    为什么在eclipse上没有问题呢?
      

  4.   


    Eclipse中不用配置classpath也是可以的,因为Eclipse本身已经包含运行时环境了。但是在cmd中或者linux中的console中,必须配置classpath。
      

  5.   

    我编译的是corejava的源代码,没有package
      

  6.   


    你打开ImageViewer.java,
    在最上面,是否有package com.aaa.bbb.ccc;这样的字样?你按照这个,新建aaa,bbb,ccc目录,将ImageViewer.java拷贝进去,然后在cmd中
    java aaa/bbb/ccc/ImageViewer.java
    javac aaa/bbb/ccc/ImageViewer看看是否ok。
    前提是你要百分之百保证你java环境变量配置正确。
    如何确定呢?
    用文件编辑器新建Test.java,
    内如如下
    public class Test{
    public static void main(String[] args){
    System.out.println("测试正确...");
    }}放在c盘根目录。
    然后打开cmd,
    依次:
    javac Test.java
    java Test
    如果正确运行出结果,则环境变量配置正确(包括jre),否则,配置错误、
      

  7.   

    额,感谢这么耐心的回复,不过我实在ubuntu上编译的,而且那个文件明确是没有package的,而且windows下我使用命令行运行过,我现在怀疑是环境变量那里配错了,真心蛋疼,为了适应linux的环境,不知走了多少歧途 啊!
      

  8.   


    ubuntu配置环境变量也很容易呀。
    我的开发环境就是ununtu 10.10,
    算了,你配置成全局的,sudo gedit /etc/profileexport JAVA_HOME =$HOME\xxxxxxx
    export CLASSPATH =$JAVA_HOME\lib
    export PATH =$JAVA_HOME\bin:$PATH 基本只要这三条就可以了。
    注意,配置好了需要登出系统,重新进来才可以生效。
      

  9.   

    export JAVA_HOME =$HOME\xxxxxxx    这里xxxxxx是指jdk的路径吗?
      

  10.   


    $HOME\xxxxxxx 这里xxxxxx这一段全部是安装路径。
      

  11.   

    #jdk
    export JAVA_HOME=/home/liongao/java/jdk1.6.0_24
    CLASSPATH=$JAVA_HOME/lib
    export CLASSPATH=.:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
      

  12.   

    谢谢!
    我已经弄成功了,是CLASSPATH的问题
    我是在/etc/environment中配置的一开始
    CLASSPATH="路径/lib"(路径为jdk路径)后来我添加了./就可以了,即CLASSPATH="./:路径/lib"
    我以为这是将CLASSPATH配置给全局,不知理解有没有错?
      

  13.   


    /etc/environment和/etc/profile都是配置全局的,只是一个需要重启一个不需要。