求解答:ubuntu12.04下java的问题

ncnaf 2012-05-11 09:08:58
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$

求助
...全文
178 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
昨日凡阳 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 14 楼 的回复:

引用 13 楼 的回复:

引用 12 楼 的回复:

引用 11 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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

……
[/Quote]

/etc/environment和/etc/profile都是配置全局的,只是一个需要重启一个不需要。
ncnaf 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 13 楼 的回复:

引用 12 楼 的回复:

引用 11 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


你的ImageViewer.……
[/Quote]
谢谢!
我已经弄成功了,是CLASSPATH的问题
我是在/etc/environment中配置的

一开始
CLASSPATH="路径/lib"(路径为jdk路径)

后来我添加了./就可以了,即CLASSPATH="./:路径/lib"
我以为这是将CLASSPATH配置给全局,不知理解有没有错?
昨日凡阳 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 12 楼 的回复:

引用 11 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


你的ImageViewer.java中,去掉package,然……
[/Quote]




#jdk
export JAVA_HOME=/home/liongao/java/jdk1.6.0_24
CLASSPATH=$JAVA_HOME/lib
export CLASSPATH=.:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


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


你打开Ima……
[/Quote]

$HOME\xxxxxxx 这里xxxxxx

这一段全部是安装路径。
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


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


你打开ImageViewer.java,
在……
[/Quote]
export JAVA_HOME =$HOME\xxxxxxx 这里xxxxxx是指jdk的路径吗?
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 9 楼 的回复:

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


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


你打开ImageViewer.java,
在最上面,是否有

packag……
[/Quote]

ubuntu配置环境变量也很容易呀。
我的开发环境就是ununtu 10.10,
算了,你配置成全局的,

sudo gedit /etc/profile

export JAVA_HOME =$HOME\xxxxxxx
export CLASSPATH =$JAVA_HOME\lib
export PATH =$JAVA_HOME\bin:$PATH

基本只要这三条就可以了。
注意,配置好了需要登出系统,重新进来才可以生效。
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 7 楼 的回复:

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


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


你打开ImageViewer.java,
在最上面,是否有

package com.aaa.bbb.cc……
[/Quote]
额,感谢这么耐心的回复,不过我实在ubuntu上编译的,而且那个文件明确是没有package的,而且windows下我使用命令行运行过,我现在怀疑是环境变量那里配错了,真心蛋疼,为了适应linux的环境,不知走了多少歧途 啊!
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

我编译的是corejava的源代码,没有package引用 4 楼 的回复:

引用 1 楼 的回复:

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


你的ImageViewer.java中,去掉package,然后再试试。
[/Quote]

你打开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),否则,配置错误、
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 的回复:

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


Eclipse中不用配置classpath也是可以的,因为Eclipse本身已经包含运行时环境了。但是在cmd中或者linux中的console中,必须配置classpath。
[/Quote]
我看到有网上说要把环境变量配置到文件所在文件夹,那这样每个新的文件都得配置吗?真心不懂
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
我编译的是corejava的源代码,没有package[Quote=引用 4 楼 的回复:]

引用 1 楼 的回复:

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


你的ImageViewer.java中,去掉package,然后再试试。
[/Quote]
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

为什么在eclipse上没有问题呢?
[/Quote]

Eclipse中不用配置classpath也是可以的,因为Eclipse本身已经包含运行时环境了。但是在cmd中或者linux中的console中,必须配置classpath。
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

classpath没有配置或者配置不对。
[/Quote]

你的ImageViewer.java中,去掉package,然后再试试。
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
为什么在eclipse上没有问题呢?
ncnaf 2012-05-11
  • 打赏
  • 举报
回复
没注意包?能具体点吗?
xiaoliner2050 2012-05-11
  • 打赏
  • 举报
回复
感觉像是没注意包的问题!!!
昨日凡阳 2012-05-11
  • 打赏
  • 举报
回复
classpath没有配置或者配置不对。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧