osc推出了私有git服务,咱也想要将自己的代码放到git上面,于是熟悉git。
正好最近要学习java的代码,然后就是在我的debian中配置环境变量。这些都不提了。经过测试java javac命令都没有问题。环境准备好了,先测试一下吧!
然后在eclipse中建立一个简单的hello程序。
package hello;
public class hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello java");
}
}
在eclipse中运行结果很自然的就出来了
应该说很简单的代码,然后为了保持代码,把这个文件移动到了我的git项目目录下面了。然后测试一下好了。javac hello.java。没有问题,没有报错之类的。
接下来的问题就比较让人迷惑,简直让人抓狂。java hello命令敲进去。错误出现了:
Exception in thread "main" java.lang.NoClassDefFoundError: hello (wrong name: hello/hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
问题到底是什么也不大明白。
然后就是在网上找问题出在哪了。 在网上有人说是环境变量有问题,也有人说是jdk版本的问题。在折腾了好久之后问题都没有解决。
快开饭的时候我突然注意到程序的第一行了
package hello;
然后回想起eclipse默认是创建了文件夹hello而我在终端中是没有这个目录结构的。
删除之后,终于正常了。
这就是泪流满面啊。