2016-06-22 5 views
-3

私はNetBeansでのOracle classspy.javaを実行しようとしていますし、また、端末ではなく、私はエラーエラーClassSpyのJavaを実行している間、

ここ
Could not find or load main class ClassSpy.java 

を取得していますが

import java.lang.reflect.Constructor; 
import java.lang.reflect.Field; 
import java.lang.reflect.Method; 
import java.lang.reflect.Member; 
import static java.lang.System.out; 

enum ClassMember { CONSTRUCTOR, FIELD, METHOD, CLASS, ALL } 

public class ClassSpy { 
    public static void main(String... args) { 
    try { 
     Class<?> c = Class.forName(args[0]); 
     out.format("Class:%n %s%n%n", c.getCanonicalName()); 

     Package p = c.getPackage(); 
     out.format("Package:%n %s%n%n", 
       (p != null ? p.getName() : "-- No Package --")); 

     for (int i = 1; i < args.length; i++) { 
     switch (ClassMember.valueOf(args[i])) { 
     case CONSTRUCTOR: 
      printMembers(c.getConstructors(), "Constructor"); 
      break; 
     case FIELD: 
      printMembers(c.getFields(), "Fields"); 
      break; 
     case METHOD: 
      printMembers(c.getMethods(), "Methods"); 
      break; 
     case CLASS: 
      printClasses(c); 
      break; 
     case ALL: 
      printMembers(c.getConstructors(), "Constuctors"); 
      printMembers(c.getFields(), "Fields"); 
      printMembers(c.getMethods(), "Methods"); 
      printClasses(c); 
      break; 
     default: 
      assert false; 
     } 
     } 

     // production code should handle these exceptions more gracefully 
    } catch (ClassNotFoundException x) { 
     x.printStackTrace(); 
    } 
    } 

    private static void printMembers(Member[] mbrs, String s) { 
    out.format("%s:%n", s); 
    for (Member mbr : mbrs) { 
     if (mbr instanceof Field) 
     out.format(" %s%n", ((Field)mbr).toGenericString()); 
     else if (mbr instanceof Constructor) 
     out.format(" %s%n", ((Constructor)mbr).toGenericString()); 
     else if (mbr instanceof Method) 
     out.format(" %s%n", ((Method)mbr).toGenericString()); 
    } 
    if (mbrs.length == 0) 
     out.format(" -- No %s --%n", s); 
    out.format("%n"); 
    } 

    private static void printClasses(Class<?> c) { 
    out.format("Classes:%n"); 
    Class<?>[] clss = c.getClasses(); 
    for (Class<?> cls : clss) 
     out.format(" %s%n", cls.getCanonicalName()); 
    if (clss.length == 0) 
     out.format(" -- No member interfaces, classes, or enums --%n"); 
    out.format("%n"); 
    } 
} 

ヘルプが必要なソースコードですこのコードを実行するには、私もnetbeansで同じエラーが発生しているとcmdでも。端末について

+2

を「Java ClassSpy.java」として実行するのではなく、「Java ClassSpy」として実行してください。もちろん、実行する前にまずプログラムをコンパイルする必要があります。 – Jesper

答えて

関連する問題