JAVA 初学者,用的 Openjdk 。 我遇到的问题是:能够在命令行下编译.java 文件,不能命令行下运行.class 文件,但是在 ECLIPSE 下一切都好。
http://imgsrc.baidu.com/forum/w%3D580/sign=2c1698829dcad1c8d0bbfc2f4f3f67c4/0e954ba7d933c895cd1b10d6d91373f083020062.jpg http://imgsrc.baidu.com/forum/w%3D580/sign=0704d8a504d79123e0e0947c9d355917/e14f9025bc315c60f92ce34285b1cb1348547717.jpg
可以编译就是无法运行.class 文件?? 这是什么问题???
1
misaka19000 2016-09-08 13:10:35 +08:00
看你的这个错误好像是 class 文件的问题,而不是 Java 命令的问题
|
2
mikicomo 2016-09-08 13:20:22 +08:00
java 文件里的代码贴一下?看上去不是环境的问题+1
|
3
willhunger OP @misaka19000 没有,我可以在 eclip se 下生成的.class 文件可以在 eclip se 运行,但是同样的文件在命令行就无法执行了
|
4
willhunger OP @mikicomo 你看下楼上,凌风学长
|
5
jiangtao92 2016-09-08 13:32:09 +08:00
昨天刚遇到过, 试一试 java -cp . HelloWorld 如果可以的话,检查一下自己的 CLASSPATH 路径有没有忘记 .;........
|
6
mikicomo 2016-09-08 13:38:25 +08:00
|
7
fuckcpc 2016-09-08 13:55:27 +08:00 via iPhone
环境变量的问题
|
8
fuckcpc 2016-09-08 13:56:55 +08:00 via iPhone
你的环境变量没设置好,只能执行全路径文件
|
9
willhunger OP @fuckcpc 我的环境变量是好的?
请问全路径文件是什么? |
10
rosu 2016-09-08 14:29:22 +08:00 via Android
尝试 Google : how to install JDK in Ubuntu ?
再检查一下环境配置问题? |
11
willhunger OP @rosu 我可以在 eclipse 下敲代码运行,环境应该是好的,但是就是无法在 shell 下运行😤😤😤
|
12
timeship 2016-09-08 14:43:06 +08:00
openjdk 我记得不是一条命令直接装上就 OK 吗?看报错是你的代码有问题啊
|
13
rosu 2016-09-08 14:49:39 +08:00 via Android
@willhunger 抱歉,我仔细看了看错误提示。我觉得...可能是你的程序的 class 名不是 HelloWrold ?你再仔细看看?
|
14
drackzy 2016-09-08 14:52:35 +08:00
sudo update-alternatives --config java
|
15
D3EP 2016-09-08 14:54:57 +08:00 via Android
CLASSPATH 加上 . ,加上当前目录。
|
16
D3EP 2016-09-08 14:55:31 +08:00 via Android
你这个是 CLASSPATH 里没有当前目录。
|
17
sylecn 2016-09-08 14:56:53 +08:00
如果习惯了 Eclipse ,是不是默认就创建了 package? 如果有 package ,必须把 class 文件放在合适的目录才行。
比如 package com.emacsos.java.hello; 就需要把 class 文件放到 com/emacsos/java/hello/*.class 下。 编译是没有问题,但是如果目录不对,执行时会找不到类。 |
18
willhunger OP @D3EP 我加上了
|
19
willhunger OP @sylecn 并没有 package
|
20
sylecn 2016-09-08 17:02:26 +08:00
麻烦贴一下源码。另外贴一下 javac -version 和 java -version 的输出。
|
21
willhunger OP @misaka19000
@mikicomo @jiangtao92 @fuckcpc @rosu @timeship @drackzy @D3EP @sylecn 换上 OracleJDK 已经完美解决了,谢谢大家的帮忙 |
22
mikicomo 2016-09-08 21:01:28 +08:00
@willhunger 嗯...小声问句, OpenJDK 直接 yum/dnf/apt/apt-get 不就可以了么
|
23
GKLuke 2016-09-08 21:50:31 +08:00
其实哦,在 eclipse 里打成 jar 包,在放到 linux 这种引包不完全的环境里运行,看看是包的锅还是环境的锅
|
24
willhunger OP @mikicomo 对的呀,可是喵喵说 openjdk 不需要配置环境变量,然而我配置了。然后我换了 OracleJDK 就好了,不解这是为什么?(◎_◎;)
|
25
sonack 2016-09-09 15:11:20 +08:00 via Android
你的代码是不是在某个包 a.b 下,而你在 class 所在的路径下用 java 运行的?在包的最外层的那个目录运行 java a/b/classfile 试试~
|