A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘宁 中级黑马   /  2012-3-23 10:03  /  1769 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序是这样的,我想运行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)

7 个回复

倒序浏览
你先把那行注释掉,运行一下记事本程序,看有没有问题,再排查
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");
                 
         }
}
回复 使用道具 举报
你这段代码是没有问题的,你看一下环境变量是不是有问题。
回复 使用道具 举报
运行class文件时的名称 要与代码中的类名一致
回复 使用道具 举报
很明显,因为代码中RuntimeDemo的"t"没有大写,改成 RunTimeDemo 就对了
回复 使用道具 举报
javac RunTimeDemo.java没报错然后 java RunTimeDemo异常


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

仔细点,就可以来哦
回复 使用道具 举报
也就是
java RunTimeDemo改为java RuntimeDemo

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

仔细点啊   哥们
回复 使用道具 举报

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

}
我这个运行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马