在eclipse下运行一个名为testphone的application,结果弹出对话框Could not found the main class.Program will exit.
Console中输出:java.lang.NoClassDefFoundError: com/ulic/life/ws/ps/testphone
我看网上说是环境变量问题,于是重新设了环境变量path C:\orant\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\orant\jdk\bin;C:\Program Files\IDM Computer Solutions\UltraEdit-32;C:\Program Files\Rational\common;C:\j2sdk1.4.2_08\bin
classpath .;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\lib\dt.jar;C:\j2sdk1.4.2_08\lib\rt.jar
java_home C:\j2sdk1.4.2_08 设好后还是没解决问题
在命令窗口中测试,能执行java Application,也能显示我的java环境变量配置。但当我第一次输入jar命令时输出Can't find class sun/tools/jar/Main,第二次输入jar命令时弹出对话框 :jar.exe遇到问题需要关闭
不知道这两个问题是不是相关,究竟哪里错了,求各位大虾支招~
Console中输出:java.lang.NoClassDefFoundError: com/ulic/life/ws/ps/testphone
我看网上说是环境变量问题,于是重新设了环境变量path C:\orant\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\orant\jdk\bin;C:\Program Files\IDM Computer Solutions\UltraEdit-32;C:\Program Files\Rational\common;C:\j2sdk1.4.2_08\bin
classpath .;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\lib\dt.jar;C:\j2sdk1.4.2_08\lib\rt.jar
java_home C:\j2sdk1.4.2_08 设好后还是没解决问题
在命令窗口中测试,能执行java Application,也能显示我的java环境变量配置。但当我第一次输入jar命令时输出Can't find class sun/tools/jar/Main,第二次输入jar命令时弹出对话框 :jar.exe遇到问题需要关闭
不知道这两个问题是不是相关,究竟哪里错了,求各位大虾支招~
java.lang.NoClassDefFoundError: com/ulic/life/ws/ps/testphone
代码...
boolean end();
Object current();
void next();
} public class testphone {
private Object[] o;
private int next = 0;
public testphone(int size) {
o = new Object[size];
}
public void add(Object x) {
if(next < o.length) {
o[next] = x;
next++;
}
}
private class SSelector implements Selector {
int i = 0;
public boolean end() {
return i == o.length;
}
public Object current() {
return o[i];
}
public void next() {
if(i < o.length) i++;
}
}
public Selector getSelector() {
return new SSelector();
}
public static void main(String[] args) {
testphone s = new testphone(10);
for(int i = 0; i < 10; i++)
s.add(Integer.toString(i));
Selector sl = s.getSelector();
while(!sl.end()) {
System.out.println((String)sl.current());
sl.next();
}
}
}
代码没有问题且能执行。我的工程选的就是1.4啊
你在创建项目的时候,项目对话框下面会有提示的!
把默认1.4的改成与你安装的JDK匹配的就可以了!
现象:类带了包名package com.ulic.life.ws.ps; 编译不了,但实际上在命令行下是可以编译的,因为你cd到ps目录运行的命令javac testphone.java,但在eclipse下却不行。你再新建一个类(不带包名的),你会发现可以运行。
解决方法:
1、你的电脑上肯定安装了多个版本的JDK。。问题就在这里
2、命令行下运行:java -version看看JDK的版本
3、如果在命令行下可以编译和运行java文件那排除环境变量的问题。
4、在eclipse下ECLIPSE\WINDOW\PREFERENCES\JAVA\INSTALLED JRES\查看你现在所使用的JDK,注意安装了多个版本的JDK,在命令行运行JAVA -VERSION永远看到的是最后安装的版本。在这里你不用管,你只要确定你的程序要用什么版本的JDK,在ECLIPSE\WINDOW\PREFERENCES\JAVA\INSTALLED JRES\目录下就选哪个就行。(同一台电脑上是可以安装多个JDK的)
5、关键在这里:将ECLIPSE\WINDOW\PREFERENCES\JAVA\COMPILER中的compliance设为你正在使用的JDK的版本即可(注意你正在使用的JDK是以你eclipse中INSTALLED JRES目录下勾选的为主的,不一定是你java -version看到的)。
比如说:我的电脑安装jdk 1.5所以java -version 看到的是1.5的。但因为开发需要我拷贝了jdk 1.3到电脑上,然后将eclipse INSTALLED JRES\设为1.3,并将compliance设为1.3即可。