可以设置path环境变量呀 
比如你的java sdk装在c:\j2sdk1.3
你可以设置path=%path%;c:\j2sdk1.3\bin

解决方案 »

  1.   

    你可以用-CLASSPATH指定你的文件目录
    例如 javac -classpath d:\myjava test.java
    test.java在目录d:\myjava中
      

  2.   

    设置好path环境变量,让它制向你的javac目录,如c:\jdk1.3\bin 就可以咯
      

  3.   

    楼上的兄弟们,谢谢你们的关心,但可能没有明白我的意思:javac本身的环境变量path已经成功设置,系统也生效了,但是我发现classpath设置后无效,非得进入源代码的所在目录才可以编译,报告找不到源文件,为什么?
    我的classpath="F:\JBuilder7\jdk1.3.1\jre\lib\ext\QTJava.zip";"F:\JavaTest\",源文件都在F:\JavaTest\下,只有进入进入F:\JavaTest后才能使用javac。
      

  4.   

    F;\javac -classpass F:\JavaTest\ Pattern.java
       也无效
      

  5.   

    不用
    可以直接编译
    如:javac c:\myprojects\helloworld.java
    但是java命令只能到*.class文件所在目录下运行
      

  6.   

    楼上一半对了
    可以直接编译
    如:javac c:\myprojects\helloworld.java“但是java命令只能到*.class文件所在目录下运行”不能说“只能”
    :
    java -classpath "*.class文件所在目录" helloworld
      

  7.   

    To wunglee(寂寞让我如此努力):
    Be care:
    F:\>javac -classpath "F:\JavaTest\ " Pattern.java
    compare with the origin:
    F;\javac -classpass F:\JavaTest\ Pattern.java
     ^               ^^
      

  8.   

    所以让你研究javac的参数嘛。用法:javac <选项> <源文件>
    可能的选项包括:
      -g                        生成所有调试信息
      -g:none                   生成无调试信息
      -g:{lines,vars,source}    生成只有部分调试信息
      -O                        优化;可能妨碍调试或者增大类文件
      -nowarn                   生成无警告
      -verbose                  输出关于编译器正在做的信息
      -deprecation              输出使用了不鼓励使用的API的源程序位置
      -classpath <路径>           指定用户类文件的位置
      -sourcepath <路径>          指定输入源文件的位置
      -bootclasspath <路径>       覆盖自举类文件的位置
      -extdirs <目录(多个)>         覆盖安装的扩展类的位置
      -d <目录>                   指定输出类文件的位置
      -encoding <编码>            指定源文件中所用的字符集编码
      -target <版本>              生成指定虚拟机版本的类文件起码有个sourcepath嘛。
      

  9.   

    To: Reve(仨仁仕)

    F;\javac -classpass F:\JavaTest\ Pattern.java
     ^               ^^
    改成了classpath 问题依旧