0

TriggerSample.java をこのディレクトリにコピーしました。それで:

javac -cp h2-1.3.168.jar TriggerSample.java

作成します

TriggerSample$MyTrigger.class ... および ... TriggerSample.class

次に: java TriggerSample

言います:

Exception in thread "main" java.lang.NoClassDefFoundError: TriggerSample (wrong name: org/h2/samples/TriggerSample)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

また、次のこともできません:

java org.h2.samples.TriggerSample

Java org/h2/samples/TriggerSample

コマンドラインからその例を正確に実行するにはどうすればよいですか?

4

1 に答える 1

0

これは通常の Java の問題です。クラスのパッケージ名TriggerSampleorg.h2.samples. ディレクトリ名を使用する必要がありますorg/h2/samples

  • ディレクトリ org/h2/samples を作成します

    mkdir org/h2/samples

  • ファイルTriggerSample.javaをそのディレクトリに移動します

  • 走る

    javac -cp h2-1.3.168.jar org/h2/samples/TriggerSample.java

  • 次に実行します

    java -cp h2-1.3.168.jar:. org.h2.samples.TriggerSample

または: ファイルのパッケージ宣言を削除しますTriggerSample.java

于 2012-12-05T07:51:04.877 に答える