1

ms-dosでappletviewerコマンドラインを使用してアプレットを実行する際に問題が発生しています。これは私のプロジェクトツリーです:

Project
|___classes
|       |___org 
|            |___test
|                  |___Test.class
|
|__src
    |___org       
         |___test
               |___Test.java

Test.javaのソースファイルは次のとおりです。

package org.test;

import java.applet.Applet;

/*<applet code="org.test.Test" width="200" height="100" 
codebase="..\..\..\classes\org\test"></applet>*/

public class Test extends Applet{

    public void init(){

    }

    public void start(){

    }

    public void stop(){

    }

    public void destroy(){

    }

}

記事を読んだところ、appletviewerには、アプレットタグが含まれているファイルのみが必要であるため、そのファイルを解析してタグを取得します。これは、上記のソースファイルのコメント行で行ったことです。

ソースファイルはエラーなしでコンパイルされます。それから私はそれを実行しようとします。だから私は私のソースファイルがあるフォルダに行き、これを試してみます:

prompt \ Project \ src \ org \ test> appletviewer Test.java

発生するエラーは次のとおりです。

java.lang.ClassNotFoundException:org.test.Test at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:211)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at sun.applet.AppletClassLoader.loadClass( AppletClassLoader.java:144)at java.lang.ClassLoader.loadClass(ClassLoader.java:247)at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:662)at sun.applet.AppletPanel.createApplet(AppletPanel.java:785 )at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)at sun.applet.AppletPanel.run(AppletPanel.java:368)at java.lang.Thread.run(Thread.java:662)

エラーはJavaソースファイルの最初の行から発生していると思います。これを削除すると、すべて正常に機能するためです。でも理由がわからない…誰か説明してもらえませんか?

4

1 に答える 1

1

私はそれがすべきだと信じています

codebase="../../../classes"

また、.javaファイルではなく.classファイルを実行しようとしている必要があります。この場合、現在のディレクトリclassesを実行しようとすると、現在のディレクトリになります。

于 2012-12-10T23:16:09.893 に答える