今天,测试cassadra 的stress方法(也就是传说中的压力测试),按照官方给的资料,我在MyEclipse中进行了测试,结果可想而知,cassandra这个内存机器吃掉了我大部分内存。从而导致只能写入一部分数据就终止了。于是,我准备在dos下进行测试,运行后,发现找不到main方法。
后来,根据自己的猜想,可能问题出在stress这个类中有enum,导致生成的class为:Stress$Operation.class和Stress.class(本身中有main方法)。
在dos下运行:java Stress,我找遍google都没有发现我要的答案(绝不是一般人说的路径和包名问题)。有没有高手解决一下。
附异常:
Exception in thread "main" java.lang.NoClassDefFoundError: Stress (wrong name: o
rg/apache/cassandra/contrib/stress/Stress)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Stress.  Program will exit.

解决方案 »

  1.   

    J2se 容易被忽视的问 和这个也没有联系啊...
      

  2.   

    怎么没关系?在dos 下运行含有内部类或者enum的方法。我搜了一下。都没有找到答案。难道你会?
      

  3.   

    你们这帮挖坟的!3月的帖子都挖出来了
    -----------------------------------
    Exception in thread "main" java.lang.NoClassDefFoundError: Stress (wrong name: o
    rg/apache/cassandra/contrib/stress/Stress是因为lz执行的是java Stress因为带了package,所以要这样执行java org.apache.cassandra.contrib.stress.Stress