第一个问题,根据你的第三条来说,我也实在想不通是什么问题
第二个问题,在你的那个docume...........的路径中有空格,所以很可能
是空格的问题
第三个事情,如果你放在其他的路径能够运行,那你就在那些地方运行好了
如果你一定要在C盘下面运行的话,那就把c:这个路径加入到ClassPath里面去
试试看,应该可以
第四个事情,慢慢弄,不要急,以前我也疯掉过
第五个事情,你的那个相同的帖子,如果你想让别人去看的话,最好是把地址
发上来,比如说你这个帖子就是
http://expert.csdn.net/Expert/topic/1922/1922496.xml?temp=.2357904
这样好找一点,要不然按照标题的话是挺难找的,这里更新速度太快了有问题再上来问吧

解决方案 »

  1.   

    谢谢大家!
    to  frankie_jiu:
    你说的"好像是路径写错了"是什么意思?
    to  XKP:
    你说"在你的那个docume...........的路径中有空格,所以很可能是空格的问题",
    "javac: invalid flag: C:\Documents"是editplus中写的错误信息,不是我写的,而且放在C:\Documents and Settings下或其任何一个子目录下都是这样的错误信息。是不是JDK不能安装在C:\j2sdk1.4.1下呀?
      

  2.   

    Documents and Settings有空格,作为可能不行
    如果你在Documents and Settings目录下编译的话,应该就不会出错了
      

  3.   

    to frankie_jiu:Documents and Settings目录下编译也会出错。我懂大家的意思了,的确是这样,我在e:\新建一个my java目录,在这个目录下也不能编译和运行。不过我想知道这是为什么。另外我已经解决在c:\下不能运行的问题了,就是 XKP说的把c:\这个路径加入到ClassPath里面去。现在就剩在Documents and Settings目录及子目录不能编译和运行的问题了。
      

  4.   

    你这样改一下变量名          值
    CLASSPATH      .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
    JAVA_HOME      C:\j2sdk1.4.1
    PATH           %JAVA_HOME%\bin
    这样会更好些
    你升级JDK之后 ,只要改动%JAVA_HOME%值就行了----------------------------------------------------------      .,,,::::t:MMMMMMMMMBVt:+.. 
       ,IVXVYIBttt+::+IVVMMMMMMRR:’ 
       ,YYVYItMYti+i++:X+Rt:tXWRMR, 
       .YRiIYRMViitVXRWRYMI++++itMM.. 
       .Y+,.,X::,,,YMMMMMMMMRVItXMti 
        :X+:,X:,. .,iiIRMWMMMBBRMMBY. 
        tR+:I:i:+Y:IitYVYMMMMMMMMRi. 
        .+RXt:,::.::XXIBMMMMMMMMM+: 
         ,RRXitY+,.::RWMMMMMMMMt. 
          VYI:::,..:tVMMMMMMBY+. 
          .VBBW:::::,i.MMMMMBi:. 
          .tWRRVi:::.X:VMMMMMMY. 
         ,+i+:,XYtt+:,i:,MMMBR: 
      ...VV..:..:.tt::++:+,RMYMV. 
     :M:::..:,.:,,,.+t+++Ytt.,+: 
    tRt:,.:,.:,:.:+.,:++tit, 
    :tXt:,:,:.:.,,+,:+YRY, 
     :++:::.,:.:.::+:iMi 
      ,Ri:::,:::::::+Ii 
      ,+:Xii:,,::I:tit,. 
       :BBt,:+::,::i+. 
       :BWXX::::::iX. 
       :BWVIi++t+:V+ 
       WBXtItii+iWI. 
       :MWIYIti+iVRY, 
        RBXVYItiiIYXWI, 
        :MRWWVYttttIIXWt. 
        .XMBRRXIti++itIXW, 
        .BMBBRVIi+::+ttXX. 
         ,MMBRXYti:::+tIW: 
         tMMRWYti+++ittXV 
          +MRVYti+++ittWI 
         .VMWVtiiiiiitIR, 
         .XBBWVttttttttXRv 
        .,WBRBXVtttttttIWt 
        :RWXWBXYtttttttYR: 
       .iRWVIiBWYIttttttYW, 
      .tWVYti:WRVIttittIVV   .:,, 
      tWVIi++:XRVIIttttIXY  ..:YYtYi:tittV, 
      tXYti+++tWRVYttittYWIiIYYVItt:iXW+.... 
     :WIt+++iXRBBVYItitIYXXYti+iIYt++:IMRi:. 
    .:Xti+:+tRWt:BVYItitIYWVIIIYXXWXVXYt+i+IV: 
    .tYi+::IWI:::BVVItitIXBRVIt:::::::tIVXRiXt 
    :Viii++i:itIXBXVttitVW,        tBIX 
    .XIiXIttIVRBRBIItttIRX         :VX 
    .,tXXWWWVi+. RXXItiYRV         .. 
           ,BWYi+IRX 
           tBYiitWB, 
           .WVtiiIRI 
            VWtiiiIB, 
            ,BIiiiiWt 
            .BViiiiYV 
            XXtii+YV 
            iRiii+YY 
            :Btii+XI 
             Wtii+R: 
             XY+t+B. 
             YX+tYR. 
             tX+iWV 
             iXi+RI 
             tYiIXX 
            ,XtiIXRt. 
            :BIVYRWIV 
            +RYXXWiYR. 
            iWIVYtXMV 
            tBYItRtM+ 
            XBWttX:B: 
           YYBXXYR:,R: 
           tIYYYIY: i
      

  5.   

    1.如果把HelloWorld.java放在C:\下,编译成功,但运行失败,说什么:
    "java.lang.NoClassDefFoundError: HelloWorld
    Exception in thread "main" "
    好好检查一下你的“HelloWorld”的拼写,或是源代码2.如果把HelloWorld.java放在C:\Documents and Settings下或其任何一个子目录下(我喜欢把.java放在桌面上),编译失败,运行也失败,说什么:
    "javac: invalid flag: C:\Documents"
    看你这个路径,你应该用的是WIN98系统吧  在DOS下不支持长文件名  你一定要注意
    错误可能就在这3.如果把HelloWorld.java放在除上述路径以外的其它路径,如c:\windows,f:\等,编译成功,运行也成功。
      

  6.   

    好一副美女字符串!!!to sjc0722:我用的win2000。现在只剩下在Documents and Settings目录及子目录不能编译和运行的问题了,即将结贴。
      

  7.   

    完整的路径应该是下面的吧D:\Documents and Settings\Administrator\桌面
    javac Welcome.java
    java Welcome编译成功我的可以  不过我从来都不放在桌面上
      

  8.   

    不行呐,你看看我在win2000的dos命令行copy的信息:C:\>javac c:\documents and settings\administrator\桌面
    javac: invalid flag: c:\documents
    Usage: javac <options> <source files>
    where possible options include:
      -g                        Generate all debugging info
      -g:none                   Generate no debugging info
      -g:{lines,vars,source}    Generate only some debugging info
      -nowarn                   Generate no warnings
      -verbose                  Output messages about what the compiler is doing
      -deprecation              Output source locations where deprecated APIs are us
    ed
      -classpath <path>         Specify where to find user class files
      -sourcepath <path>        Specify where to find input source files
      -bootclasspath <path>     Override location of bootstrap class files
      -extdirs <dirs>           Override location of installed extensions
      -d <directory>            Specify where to place generated class files
      -encoding <encoding>      Specify character encoding used by source files
      -source <release>         Provide source compatibility with specified release
      -target <release>         Generate class files for specific VM version
      -help                     Print a synopsis of standard options在editplus下也是如此
      

  9.   

    为什么javac后面的参数不是源程序名,而光光只有路径呢??!
      

  10.   

    1.如果把HelloWorld.java放在C:\下,编译成功,但运行失败,说什么:
    "java.lang.NoClassDefFoundError: HelloWorld
    Exception in thread "main" "
    你的这个错误是没有找到类文件错误阿。JVM需要加载类文件,你最好把你的当前的helloworld编译的.class文件所在的目录也加到classpath中。让JVM知道从哪里加载你的用户程序的类文件阿。
    对于第二个问题也是如此。你先试试如何。
    希望对你有所帮助。
    祝你好运。
      

  11.   

    to  qumeixia(小美) :在c:\不能运行的问题已经解决了,方法如你所说。但现在的问题是在Documents and Settings目录及子目录即不能编译也不能运行。
    to  frankie_jiu: SORRY,我写掉了,应该是
    "javac c:\documents and settings\administrator\桌面\HelloWorld.java",但结果还是一样。
      

  12.   

    救命,我用的是2000,在用jdk编译过程中,出现can't read the HelloWorld,大虾,救命,脆弱
      

  13.   

    我感觉你的不能运行也不能编译的问题是由于你的path变量设置的对吗
    要不重新查查你的设置把。这是关键。
    我想不能编译就是你的环境变量设置问题。
      

  14.   

    文件(不管是.java文件还是.class文件)路径最好不要有空格
      

  15.   

    谢谢大家对我的这个小问题如此关注!to qumeixia(小美) :我在楼顶不是解释的很清楚吗,是设置成系统的环境变量呀,而且如何设置也写出来了,你看看有没有错呢?另外,我发现在win2000下安装sdk1.4.1后,即使不设置环境变量,在一般的目录下编译和运行都没问题,但就是c:\Documents and Settings或其子目录不能编译和运行。to : hlding(淋东) :但是为什么 sjc0722(★刀剑笑★) 在D:\Documents and Settings\Administrator\桌面下编译和运行都没问题呢?对了,我将win98和win2000都安装在c盘了,会不会是这个原因呢?但我觉得两个系统的环境设置应该是互不影响的。因为98是看autoexec.bat,而win2000没有。
      

  16.   

    我在系统变量中设置的是变量名: path   变量值:c:\jdk1.3.1_08\bin  然后用记事本写完HelloWorld,保存成HelloWorld.java,然后在命令提示符下输入  javac HelloWorld.java,然后屏幕上出现:can't read the HelloWorld.java   怎么会事
      

  17.   

    to:6facebeast(蓝) 看看你是不是这么操作的设置好JDK环境变量之后,进入HelloWorld.java所在的目录(这个很重要,要是不是文件所在目录就会出现can't read the HelloWorld.java  )
    然后 在文件所在目录输入  javac HelloWorld.java
    编译成功之后
    java HelloWorld
    to:cacao32(可可飞舞) 
    C:\>javac c:\documents and settings\administrator\桌面
    这个不对了
    正确的是
    c:\documents and settings\administrator\桌面>javac HelloWorld.java
    c:\documents and settings\administrator\桌面>java HelloWorld这样你在看看  应该没问题的
      

  18.   

    D:\>javac d:\Documents and Settings\Administrator\桌面\Welcome.java
    javac: invalid flag: d:\Documents
    Usage: javac <options> <source files>
    where possible options include:
      -g                        Generate all debugging info
      -g:none                   Generate no debugging info
      -g:{lines,vars,source}    Generate only some debugging info
      -nowarn                   Generate no warnings
      -verbose                  Output messages about what the compiler is doing
      -deprecation              Output source locations where deprecated APIs are us
    ed
      -classpath <path>         Specify where to find user class files
      -sourcepath <path>        Specify where to find input source files
      -bootclasspath <path>     Override location of bootstrap class files
      -extdirs <dirs>           Override location of installed extensions
      -d <directory>            Specify where to place generated class files
      -encoding <encoding>      Specify character encoding used by source files
      -source <release>         Provide source compatibility with specified release
      -target <release>         Generate class files for specific VM version
      -help                     Print a synopsis of standard options看我这不也是出错了么
      

  19.   

    to sjc0722(★刀剑笑★) :
    可可飞舞说他在那目录下运行也是出错呀我也不知道为什么了^_^
      

  20.   

    我也关注:
    我碰到的问题和版主差不多
    如下:
    D:\sde\java>javac HelloWorld.javaD:\sde\java>java HelloWorld
    Hello World!D:\sde\java>javac test.java
    test.java:14: illegal character: \12288
              
    ^
    test.java:14: illegal character: \12288
              
     ^
    test.java:14: illegal character: \12288
              
      ^
    test.java:14: illegal character: \12288
              
       ^
    test.java:14: illegal character: \12288
              
        ^
    test.java:14: illegal character: \12288
              
         ^
    test.java:14: illegal character: \12288
              
          ^
    test.java:14: illegal character: \12288
              
            ^
    test.java:14: illegal character: \12288
              
             ^
    test.java:14: 'class' or 'interface' expected
              
              ^
    10 errors
    同一个目录下运行 HelloWorld.java,没问题,但是运行 test.java 时就出错,请大家看看。
    代码如下 
    public class test1 { public static void main(String args[]) { System.out.println("welcome ^-^ !"); } } 
    和HelloWorld.java代码一样,就是println();内容不同 
      

  21.   

    to sde() ( ):
    你的程序:
    public class test1 { 
    public static void main(String args[]) { 
    System.out.println("welcome ^-^ !"); } } 
    D:\sde\java>javac test.java好象不行.
    你把你的程序另存为test1.java
    D:\sde\java>javac test1.java就行了,我也不知为什么.弄清楚发短消息告示我!
      

  22.   

    j2sdkee1.4
    也需要写上路径吧
    我装JB7时把他们都装上了
    偶也是个出学者
    不知道行不行啊另外  EditPlus  这个工具怎么运行啊呵呵
    谢谢
      

  23.   

    --------------------------------------
    --------------------------------------
    完了,我的问题越来越多了,都搞糊涂了  :(to sjc0722(★刀剑笑★) : 你说的对,
    "c:\documents and settings\administrator\桌面>javac HelloWorld.java"没错,
    "c:\>javac c:\documents and settings\administrator\桌面>HelloWorld.java",就出错。
    我想还是目录有空格的原因,因为我在f:\ 新建两个文件夹:myjava和my java,然后在dos命令行中写:
    "c:\>javac f:\myjava\HelloWorld.java",不报错
    "c:\>javac f:\my java\HelloWorld.java",就报错。另外这些都是在dos下运行的,我想用editplus编译,
    有什么方法能让editplus编译桌面上的HelloWorld.java呢?
      

  24.   

    这个是因为DOS下是不支持长文件名的  大于8个字节,空格和汉语字符
    editplus没用过,不过应该和TextPad是一样的我的TextPad是样用的先用TextPad编辑,编辑好之后TOOLS---COMPILE JAVA
    这样就行了
    to:  sde() 
    你的问题在于 你的基础太差  好好看看书
    我碰到的问题和版主差不多
    如下:
    D:\sde\java>javac HelloWorld.java  D:\sde\java>java HelloWorld
    Hello World!D:\sde\java>javac test.java  <----这个地方  (1)代码如下 
    public class test1 //<----这个地方 (2)
    { public static void main(String args[]) { System.out.println("welcome ^-^ !"); } } 
    和HelloWorld.java代码一样,就是println();内容不同 (1)和(2)的名字必须是一样的
      

  25.   

    to   symbol68688(幻影s) ,sjc0722(★刀剑笑★) 
    开始一样的,后来改了一下,没注意到,所以名字不一样了:)调试的时候名字一样的
    你们看现在的,我把名字改成,test2.java了
    程序如下:public class test2 { public static void main(String args[]) { System.out.println("welcome ^-^ !"); } } 
    调试如下:
    D:\sde\java>javac test2.java
    test2.java:15: illegal character: \12288
              
    ^
    test2.java:15: illegal character: \12288
              
     ^
    test2.java:15: illegal character: \12288
              
      ^
    test2.java:15: illegal character: \12288
              
       ^
    test2.java:15: illegal character: \12288
              
        ^
    test2.java:15: illegal character: \12288
              
         ^
    test2.java:15: illegal character: \12288
              
          ^
    test2.java:15: illegal character: \12288
              
            ^
    test2.java:15: illegal character: \12288
              
             ^
    test2.java:15: 'class' or 'interface' expected
              
              ^
    10 errors请各位指点
      

  26.   

    各位,哈哈哈,我知道原因了
    D:\sde\java>javac test1.javaD:\sde\java>java test1
    welcome ^-^ !
    调试通过了
    昨天环境刚装好,我就测试,原来,我是用记事本写的,可能是因为下面有空行的原因吧,所以就报15行非法,刚才我就delete了一下,一切就好了
    to  cacao32 (可可飞舞) 
    一开始我也碰到和你一样的问题,我刚设置好,调试也出问题,找不到路径,JDK设置好后,机器要重新启动一下就好了,我是这格原因,我想你的也应该差不多吧。
      

  27.   

    --------------------------------------
    --------------------------------------to sde() :你用editplus吗?to sjc0722(★刀剑笑★) :
    我很想知道你用 TextPad 编译桌面上的HelloWorld.java不报错吗?
    另外你能告诉我 TextPad 或者 editplus 点击"TOOLS---COMPILE JAVA",这种操作是不是实际上还是调用dos命令方式,又因为"DOS下是不支持长文件名的  大于8个字节,空格和汉语字符",所以才不能用editplus直接编译桌面上的java文件呢?
      

  28.   

    你在editplus中查看一下  JDK的设置
      

  29.   

    --------------------------------------
    --------------------------------------
    editplus的设置:
    1.Add Tool:
    Menu Text:         Compile Java
    Command  :         C:\j2sdk1.4.1\bin\javac.exe
    Argument :         $(FilePath)
    Initial directory: $(FileDir)2.Add Tool:
    Menu Text:         Run Java
    Command  :         C:\j2sdk1.4.1\bin\java.exe
    Argument :         $(FileNameNoExt)
    Initial directory: $(FileDir)大家看看有不有错呢?
      

  30.   

    你把Command  :    这个路径     C:\j2sdk1.4.1\bin\去掉看看
      

  31.   

    在我的TextPad中  那项设置是没有路径的
      

  32.   

    to sjc0722(★刀剑笑★):
    去掉后一点变化也没有,桌面上的HelloWorld.java就是编译不通过。但是我曾经在别人的机子上用过,他也是用 win2000 server + editplus ,他的机子上可以用editplus编译桌面上的java文件,我和他的设置也基本一样,这究竟是为什么呢?
     
    另外,我在win98下用 editplus 也可以编译桌面上的java文件,甚至是任何地方的java文件,一点问题都没有,可是我不想用win98。
      

  33.   

    那还是重装你的系统吧  应该是你98和2000装在一起的原因把C盘做98 5G最少  D盘做2000  5G最少   E盘做PROGRAME 10G最少
      

  34.   

    桌面上的编译不通过,是因为你的路径里面有空格。
    editplus里面可以配置的,去看一下config选项。
      

  35.   

    to silinxu(夜归人) :
    如何配置,可否说得清楚点呢?急!!!
      

  36.   

    既然你和你的朋友EDITPULS的设置一样,就说明你的系统有问题。98和2000放在一起,好多程序都会出错。