see your [classpath] config
解决方案 »
- Java JDBC存数据库,字符串数组问题
- 为什么不装JDK只装JRE也能用eclipse开发java程序?
- 一个关于线程的问题??
- 终于找到证据,说明 Object[] a = new Object[10]; 只是一个声明大小,没有在堆里分配内存。大家看看对不对?
- eclipse中数据库连接问题
- 求救:一个垃圾回收的问题
- 这个程序是随机抽取手机号码,要求不重复,在线等待,急急急急急
- 一个菜鸟问题,关于super
- JAVA怎样响应菜单
- 问个jframe的问题,请问如何在后台弹出jframe,也就是一创建就是在其他窗口的后面?
- 我想问一下关于菜单的问题?
- ArrayList中的get方法该怎么用?代码如下,谢谢!
一个是Sdk的bin 目录下的TIJ(Think in java 的示例代码下面分c01 c02之类的章节目录)跟myclass这个目录下面放的是自己写的代码。可以请教一下该怎么配置呢?
SDK
|
+Bin
|
+MyClass
|
+TIJ
|
+c01
|
+c02
|
+c03
.
.
.
如果你使用JDK,若用到其他的包,在classpath中加上这个包的路径。。
classpath=%classpath%;??\jdk??\lib\tools.jar;.
http://www.csdn.net/Develop/article/13/13316.shtm
--------------------------------------
application经常出现的错误 系统提示Exception in thread "main" java.lang.NoClassDefFoundError。出现这个提示的原因可能有:
1 你把文件名拼错了,java对大小写是敏感的。打错了当然找不到文件。
2 虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,输入sysedit,然后在autoexec.bat文件中加入这么一行:set classpath=你的jdk的安装目录\lib; 例如set classpath=c:\jdk1.3.0_02\lib; 保存退出后,你要在dos窗口的c根目录下执行一遍autoexec.bat文件已保证被设置了,当然,如果你愿意也可以重启机器。
--------------------------------------现在少了很多出错信息了。。但是又成这样了跟lingzi0910(令子) 一样的错误
Exception in thread "main" java.lang.NoClassDefFoundError: Tij\c03\RandomBounds
我CLASSPATH加了。大小写的拼写连目录的也没错。怎么还这样阿???一头雾水
用javac -d . hello.java
然后执行的是java greetings.hello (1.4.0下通过;)
JDK配置问题
看到论坛上那么多人问关于JDK配置的问题,特别是配置之后,编译java文件的时候,总是碰到这样一个问题,错误提示为:
=================================================================================================
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-1998 Microsoft Corp.
C:\>javac HelloWorld.java C:\>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld C:\>
以上为出错信息
源程序如下:
class HelloWorld {
public static void main(String[] args) {
// Display "Hello World!"
System.out.println("Hello World!");
}
} 编译通过 运行怎么就Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld???????/
=================================================================================================== 对于以上的问题,大家一贯的解决方法为,把HelloWorld.java文件所在目录的路径加入参数classpath中,如:set classpath=%classpath%;.;……(这里要注意其中的“.;”,一会儿我们做个试验看看到底是什么意思)。我试过了,好像不行,不知道是不是我没有配置好。至于给这个问题解答的网友有没有具体实践过,我不得而知。于是,我自己做了一次尝试。
我使用Win2000+JDK1.30,在java.sun.com下载j2sdk1_3_0-win.exe,然后点击安装,安装系统默认的路径,安装到c:盘,即:c:\jdk130。安装完成需要配置环境,这涉及到三个参数:path、classpath、java_home。在我的电脑-》属性-》高级-》环境变量 中,分别添加这三个变量,他们的值分别为:name value
java_home c:\jdk130
classpath .;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin;
path C:\jdk13\bin; 然后确定就可以了。注解:classpath用于指明所有用于引用的类所在的目录,它允许用户把自己的类放在不同的目录中,但应该让JDK编译工具知道它们在那里。例如:set classpath=.;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin;命令中的第一个圆点指明classpath当前的工作目录。这个圆点非常有用,当不愿意输入完整的当前目录路径时,可以用它来代替,java程序允许这么做。在d:新建子目录java,编写一个java文件,名字叫Hello.java,进入dos模式,进入到目录d:\java,然后敲入javac Hello.java,编译通过。然后可以使用java Hello运行生成的class文件,没有问题,结果正常输出。若是我们在Hello.java文件中的第一句加入:package hello; ,然后编译,没有出现错误,运行时我们会看到如下错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong
hello/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) 这时,我们在编译的时候,应该这样:javac -d . Hello.java
这样会在当前目录下产生一个新的子目录,目录名字就是hello。
我们可以用一下两种方法运行编译好的文件,在当前目录下,敲入:java hello/Hello或者java hello.Hello ,这样我们就可以看到运行结果了。这里有个问题:若是进入目录hello中,然后敲入:java Hello 运行,则会出现错误:Exception in thread "main" java.lang.NoClassDefFoundError: Hello(wrong
hello/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) 和上面的错误信息一摸一样,不知道该如何解决?大家帮忙看看,为什么进入目录hello中之后,就不能运行编译好的class文件。