在c盘根目录下安装了jdk1.5.0_04设置环境变量为
JAVA_HOME:C:\jdk1.5.0_04
CLASSPATH: .;C:\jdk1.5.0_04\lib\tools.jar;C:\jdk1.5.0_04\lib\dt.jar;
PATH:C:\jdk1.5.0_04\bin在c根目录下建立文件test.java
import java.io.*;
public class test{
public static void main(String[] args){
System.out.println("hello");
}
}进入命令提示符下编译
javac test.java
出现以下错误:
java.lang.NullPointerException
at java.util.Hashtable.put(Compiled Code)
at java.util.zip.ZipFile.readCEN(Compiled Code)
at java.util.zip.ZipFile.<init>(ZipFile.java:61)
at java.util.zip.ZipFile.<init>(ZipFile.java:71)
at sun.tools.java.ClassPath.<init>(Compiled Code)
at sun.tools.javac.Main.compile(Compiled Code)
at sun.tools.javac.Main.main(Main.java:465)
不知道是什么错误,请给点建议
JAVA_HOME:C:\jdk1.5.0_04
CLASSPATH: .;C:\jdk1.5.0_04\lib\tools.jar;C:\jdk1.5.0_04\lib\dt.jar;
PATH:C:\jdk1.5.0_04\bin在c根目录下建立文件test.java
import java.io.*;
public class test{
public static void main(String[] args){
System.out.println("hello");
}
}进入命令提示符下编译
javac test.java
出现以下错误:
java.lang.NullPointerException
at java.util.Hashtable.put(Compiled Code)
at java.util.zip.ZipFile.readCEN(Compiled Code)
at java.util.zip.ZipFile.<init>(ZipFile.java:61)
at java.util.zip.ZipFile.<init>(ZipFile.java:71)
at sun.tools.java.ClassPath.<init>(Compiled Code)
at sun.tools.javac.Main.compile(Compiled Code)
at sun.tools.javac.Main.main(Main.java:465)
不知道是什么错误,请给点建议
这样试试看
public class Test{
}
at java.util.zip.ZipFile.readCEN(Compiled Code)
at java.util.zip.ZipFile.<init>(ZipFile.java:61)
at java.util.zip.ZipFile.<init>(ZipFile.java:71)搂主确信执行的是上面的test.java文件吗
类名也没必要大写
把环境变量删掉,重新配了一遍就好了
怀疑是原来classpath和path中原有sybase的变量的原因(系统中原来装有pb)再把环境变量中的path改设为C:\Program Files\Sybase\Jaguar CTS 3.5\bin;C:\Program Files\Sybase\Jaguar CTS 3.5\dll;C:\Program Files\Sybase\Jaguar CTS 3.5\client\dll;C:\Program Files\Sybase\Shared\Sun\JDK118\bin;C:\Program Files\Sybase\Shared\PowerBuilder;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Sybase\SQL Anywhere 7\win32;C:\Program Files\Sybase\PowerDynamo\win32;C:\Program Files\Sybase\Shared\Sun\jdk118\bin;C:\Program Files\Sybase\InfoMaker 8.0\tutorial;C:\Program Files\Sybase\Shared\Web Targets;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\jdk1.5.0_04\bin;
注意最后一行才是jdk的环境变量
编译时就会弹出类似****内存不能为读的窗口
再把jdk的变量改在path中的第一个位置,仍然有这个问题把path删除,重建,将jdk的path写在第一位置,即
C:\jdk1.5.0_04\bin;C:\Program Files\Sybase\Jaguar CTS 3.5\bin;C:\Program Files\Sybase\Jaguar CTS 3.5\dll;C:\Program Files\Sybase\Jaguar CTS 3.5\client\dll;C:\Program Files\Sybase\Shared\Sun\JDK118\bin;C:\Program Files\Sybase\Shared\PowerBuilder;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Sybase\SQL Anywhere 7\win32;C:\Program Files\Sybase\PowerDynamo\win32;C:\Program Files\Sybase\Shared\Sun\jdk118\bin;C:\Program Files\Sybase\InfoMaker 8.0\tutorial;C:\Program Files\Sybase\Shared\Web Targets;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;
问题没有了
神奇,不知道是这台机器的原因,还是其它什么
现在再修改环境变量也复原不了那个编译错误的问题了