javac C:/Test.java这样可以编译Test.java
java C:/Test这样就不能运行,应该怎样写啊,麻烦了!

解决方案 »

  1.   

    要设置classpath这个环境变量,它与在编译时的路径不同。。
    如果 按照你java C:/Test这样执行的话 应该把 环境变量这样设置classpath=C:/Test(在Windows操作系统的话 应该是“C:\Test”);如果你的.class文件就在 当前目录下的时候  要把环境变量再添加一个.;也就是classpath=.;C:/Test;
      

  2.   

    再补充一下。。
    如果你想引用 JAVA的各类包的话还要在classpath的设置再加上(JDK安装路径)\jre\lib\rt.jar
      

  3.   

    注意:java命令接受的参数当中只能有'.',而不能用'/'或者'\'。
    如果你写的类 没有package语句,应该把当前目录转到.class文件所在的目录,然后执行。
    如果你写的类 有package 语句(pacakge com.tt);你应该把把当前目录转到com目录的父目录,然后执行:java com.tt.Test
      

  4.   

    那如果我在package com.tt中有两个文件Test.java,RunTest.java,后面一个的main部分这样写
     public static void main(String[] args) {
            try {
                Process p = Runtime.getRuntime().exec("java com.tt.Test");
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }运行RunTest.java时,并没有找到com.tt.Test运行,这时我应该怎样处理解决,直接写java Test也不行!
      

  5.   

    Runtime.getRuntime().exec("cmd /c java com.tt.Test");
      

  6.   

    运行RunTest.java时,并没有找到com.tt.Test运行,这时我应该怎样处理解决,直接写java Test也不行!这个时候,你的在CLASSPATH 里的有com.tt所在的目录。
      

  7.   

    Runtime.getRuntime().exec("cmd /c java Test")就行了啊!^_^
    执行cmd时的当前路径就是当前类的路径
    所以那样执行就等于在字符界面的当前类路径下执行java Test
    另外,如果要在运行上一级包中的类或下一级的类
    则就像在字符界面进行目录跳转再执行就行了哦~
    但注意跳转再执行是多个命令,要用&&连接
    比如RunTest类在com.tt中
    但要执行com包中的SecondTest类,即com.SecondTest
    则要这样:Runtime.getRuntime().exec("cmd /c cd.. && java SecondTest")
      

  8.   

    上述的说法还是不行啊,我用的是eclipse,在包com.tt下有一个A.java和B.java两个文件,B中代码写public static void main(String[] args) {
            try {
                Process p = Runtime.getRuntime().exec("cmd /c java com.tt.A");
                Process q = Runtime.getRuntime().exec("cmd /c java A");
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    在eclipse中运行,都没能执行A,究竟该如何写才能运行A啊,还望大家帮忙!
      

  9.   

    我觉得被楼主耍了.楼主,你要干嘛?问问题要先写清楚..java没编译怎能运行?
    编译成.class后为什么要用Runtime调用?(可以直接在java里调用main方法)我来试试归纳楼主的意图(楼主认为不对的话,纠正吧):
    楼主要做一个ide?
    先编译java文件,然后运行之.
      

  10.   

    问题我可能没有说明白,在这里向大家抱歉了
    我是看了
    http://community.csdn.net/Expert/topic/3497/3497698.xml?temp=.1911432
    这个例子,自己模仿测试一下,但Test.java运行正常以0结果退出,而GetExitCode.java运行总是得到的值为1,就是这句话Process p = Runtime.getRuntime().exec("java Test");出了问题,所以想向大家请教一下这个运行的路径应该怎样写,麻烦大家了!
      

  11.   

    Process p = Runtime.getRuntime().exec("你的jdk目录\bin\java -cp你的Test的classpath目录 Test");把这两个换成实际的:你的jdk目录,你的Test的classpath目录
      

  12.   

    to dyhml(VirusCamp) :你说的我没看明白
    我的jdk安装为E:\j2sdk\j2sdk1.4.2
    Test.java在E盘根目录下,应该怎样写啊!
      

  13.   

    你的jdk目录=E:\j2sdk\j2sdk1.4.2
    你的Test的classpath目录=e:\先编译:
    Process p1 = Runtime.getRuntime().exec("E:\j2sdk\j2sdk1.4.2\bin\javac e:\Test.java");
    再运行:
    Process p2 = Runtime.getRuntime().exec("E:\j2sdk\j2sdk1.4.2\bin\java -cpe:\ Test");
    这是在Test没有package的情况下,如果有...................让我死了算了