黑马程序员技术交流社区

标题: 异常问题 急,谢谢! [打印本页]

作者: 刘宁    时间: 2012-3-23 10:03
标题: 异常问题 急,谢谢!
程序是这样的,我想运行C盘下的酷狗7,javac RunTimeDemo.java没报错然后 java RunTimeDemo异常
class  RuntimeDemo
{
        public static void main(String[] args)throws Exception
        {
                Runtime r = Runtime.getRuntime();
                r.exec("C:\\Program Files\\KuGou7\\kugou7.exe");
        }
}
但是出异常,我在网上查了,他们说可能是classpath设置问题,我看了我的设置的没错,运行例如java SystemDemo都能运行,就这个不行,
Exception in thread "main" java.lang.NoClassDefFoundError: RunTimeDemo (wrong na
me: RuntimeDemo)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:472)

作者: 张锦萍    时间: 2012-3-23 10:38
你先把那行注释掉,运行一下记事本程序,看有没有问题,再排查
class  RuntimeDemo
{
         public static void main(String[] args)throws Exception
        {
                 Runtime r = Runtime.getRuntime();
                 r.exec("notepad.exe");
                // r.exec("C:\\Program Files\\KuGou7\\kugou7.exe");
                 
         }
}
作者: 杨朝辉    时间: 2012-3-23 10:56
你这段代码是没有问题的,你看一下环境变量是不是有问题。
作者: 刘占月    时间: 2012-3-23 11:46
运行class文件时的名称 要与代码中的类名一致
作者: 张明星    时间: 2012-3-23 12:30
很明显,因为代码中RuntimeDemo的"t"没有大写,改成 RunTimeDemo 就对了
作者: 孙国军    时间: 2012-3-23 12:42
javac RunTimeDemo.java没报错然后 java RunTimeDemo异常


.class文件名写错了RuntimeDemo
.class文件名是你在Java程序中主函数所在类的类名

仔细点,就可以来哦
作者: 孙国军    时间: 2012-3-23 12:45
也就是
java RunTimeDemo改为java RuntimeDemo

而且类名命名规范应该是
在类名由多单词组成是,每个单词的首字母都应该大写

仔细点啊   哥们
作者: liumeng    时间: 2012-3-23 17:27

public class RuntimeDemo {
         public static void main(String[] args)throws Exception
     {
             Runtime r = Runtime.getRuntime();
             r.exec("C:\\Program Files\\StormII\\Storm.exe");
     }

}
我这个运行了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2