
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 newbie269 OP @misaka19000 没有,我可以在 eclip se 下生成的.class 文件可以在 eclip se 运行,但是同样的文件在命令行就无法执行了 |
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 你的环境变量没设置好,只能执行全路径文件 |
10 rosu 2016-09-08 14:29:22 +08:00 via Android 尝试 Google : how to install JDK in Ubuntu ? 再检查一下环境配置问题? |
11 newbie269 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 下。 编译是没有问题,但是如果目录不对,执行时会找不到类。 |
20 sylecn 2016-09-08 17:02:26 +08:00 麻烦贴一下源码。另外贴一下 javac -version 和 java -version 的输出。 |
21 newbie269 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 newbie269 OP @mikicomo 对的呀,可是喵喵说 openjdk 不需要配置环境变量,然而我配置了。然后我换了 OracleJDK 就好了,不解这是为什么?(◎_◎;) |
25 sonack 2016-09-09 15:11:20 +08:00 via Android 你的代码是不是在某个包 a.b 下,而你在 class 所在的路径下用 java 运行的?在包的最外层的那个目录运行 java a/b/classfile 试试~ |