Appletの起動でエラーが出てしまう

このQ&Aのポイント
  • tomcatを使ったAppletの起動方法についての質問です。
  • tomcatのwebapps内にフォルダを作り、そこにjarファイルとhtmlファイルを置いている状態です。
  • htmlファイルを起動すると、java.lang.AssertionErrorとjava.lang.reflectInvocationTargetExceptionのエラーが発生し、詳細に何も表示されずに困っています。解決方法を教えてください。
回答を見る
  • ベストアンサー

Appletの起動でエラーが出てしまう

こんばんは、tomcatを使ったAppletの起動方法についての質問です。 自分でも問題の整理が付いていない部分があり、多少解りづらい質問になってしまうかもしれませんが、お読み頂けると嬉しいです。 現在、tomcatのwebapps内にフォルダを作り、そこにjarファイルとhtmlファイルを置いている状態です。 具体的には webapps/firstClient-HomeWork/firstClient.html webapps/firstClient-HomeWork/firstClient-HomeWork_fat.jar といった状態になって居ます htmlファイルの中身は //firstClient.html <html> <body> <applet code="firstClient.firstClient" width=960 height=540> <param name=archive value="firstClient-HomeWork_fat.jar"> </applet> </body> </html> となっています。 jarファイルの中身のコードについては、詳細を貼ってしまうと、学校の課題として提出出来なくなってしまうため、コードそのものなどは貼れませんが、Eclipseで作った時の階層などを説明させて頂きます。 コードまでは firstClient/src/firstClient/firstClient といった階層になっています、左からプロジェクト名、src、パッケージ、classです。 また、Twitter4J等の外部ライブラリや、プログラム中で使われている画像ファイルなどを、Fat jarというEclipse上で作ったプロジェクトを全て纏めてjarファイルにするプラグインを使って作成しました。 この状態で、htmlファイルを起動すると java.lang.AssertionError:java.lang.reflectInvocation TargetException が出てきます、詳細ボタンを選択しても何も表示されませんでした。 java.lang.AssertionErrorは宣言が失敗している、というエラー java.lang.reflectInvocation TargetExceptionは調べても解りませんでした。 このエラーのせいで起動できないようなのですが、詳細に何も表示されない為、何処がエラーの原因なのか解らず困っています。 コード中にあるのか、或いはhtmlやjarの問題なのか、そもそもjarは認識しているのかなど、全く解らない状態です。 以前、jarファイルとhtmlファイルだけで起動できたプログラムがあるため(そのプログラムがどこか変だったのかもしれませんが) webapps内には先ほどのファイル以外は何も入っていません、classesやbeansもフォルダはあるものの中身は空となっています。 一体何処が間違っているのでしょうか..?前回出来たプログラムと同じように作る、といった方法でやってしまい、アプレットの起動方法について大した勉強をしていなかったので、自業自得なのですが、自分で調べた限りでは分からず、どうすれば良いのか解らない状態です。 お手数おかけしますが、解決方法をご存知の方が居ましたら、解答頂けると助かります。 これだけでは情報が足りないようでしたら、教えて頂ければ追加します、宜しくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

手順をおって調べないと、結局全行程に複数のバグがあって、何やっても動作しないということになる。 1.eclipse使ってるなら、まずは、eclipseからapplet viewerで実行してみてエラーがないかかチェックする。(プログラムとしてのバグ) 2.次に、archiveにする前に、html ファイルのあるディレクトリー内にpackage用のサブディレクトリー構成を作って、それを実行できるか。(applet viewer とブラウザ実行との違いをチェック) 3.これが実行できているなら、 jar ファイルにする時の階層指定の問題と、html タグ記述とが問題。 html記述の方は、archive指定とcodebase指定は applet タグの属性で指定しないと、jar ファイルを読みに行かないですよ? paramタグは、 applet 起動後の、parameter 読み出し用だから。 <applet code="firstClient.firstClient" width=960 height=540 archive="firstClient-HomeWork_fat.jar" codebase="."> </applet> 3では、2でのチェック時と別のディレクトリーにいれて行うのがベスト。 展開されてる.classファイルとjarファイルとが両方同じところにあると、jar ファイルは読まずに、.classファイルの方を読んでいたりして、jar だけをup したときになってjarファイルの方の不具合に気付いたりするので。

amagatsu
質問者

お礼

内容 解答有り難うございます。 1については問題なく、2の時点でエラーが発生することは確認しました。 こちらの質問は一度締め切り、現在のディレクトリ構成や状況を再度纏めて、別途質問させて頂こうと思います。 解答有り難うございました。

関連するQ&A

  • Appletをhtmlから起動する際のエラー

    こんにちは、アプレットの起動について、質問させて頂きます。 現在、Eclipseを用いて勉強のためアプレットを開発しているのですが起動の際に以下のエラーが出てしまい、調べてみてもどういった状況で起こるエラーなのかが解らずに困っています。 RuntimeException java.lang.AssertionError:java.lang.reflectInvocation TargetException RuntimeExceptionは起動時のエラー java.lang.AssertionErrorは宣言の失敗で投げられるエラー というのは把握しているのですが java.lang.reflectInvocation TargetExceptionに関しては調べてもあまり情報が出ず、どういったエラーなのか全く解らない状態です。 java.lang.AssertionErrorだけでも何とかしようと思ったのですが、Eclipse上でアプレットビューアーを使い起動する場合は問題無く起動できるので、ソースコード中の問題では無いようで、どこを訂正すれば良いのか全く解りません、HTMLのjarの読み込みなどの部分で起こっているエラーだと思うのですが... 現在のディレクトリの構造や、htmlの中身は以下の通りなのですが、どこかおかしい部分はあるでしょうか? HTMLは... firstClient-HomeWork/firstClient.html <html> <body> <applet code="firstClient.firstClient.class" archive="firstClient-HomeWork_fat.jar" width=960 height=540> </applet> </body> </html> です、他の関連するファイルの置き場所については以下の通りです //Eclipseのプロジェクトをfat jarプラグインで一つのjarファイルに纏めたもの firstClient-HomeWork/firstClient-HomeWork_fat //Eclipseで生成されたclassファイル、.javaの中で package firstClientとなっているので、firstClientフォルダを作ってそこに入れてます。 firstClient-HomeWork/firstClient/firstClient.class firstClient-HomeWork/firstClient/firstClient$TimeLine.class . .//その他Eclipseで生成されたclassは全てここに入れています。 . といった構造になっているのですが、どこか間違っている部分はあるでしょうか・・・? 間違っている部分の指摘や、エラー内容の解説等を頂けると助かります、どなたか解る方が居ましたら、教えて頂けると嬉しいです、宜しくお願い致します。

  • Appletが動きません・・・

    こんにちは。今日Javaを学び始めた超初心者です。 -HelloApplet.java-------------------------- import java.awt.Graphics; import java.applet.Applet; class HelloApplet extends Applet{ public void paint(Graphics g){ g.drawString("Hello World", 50,25); } } ------------------------------------------- で、これをコンパイルしてHTMLに組み込み、Appletviewerで見てみるのですが、 以下のようなメッセージが出ます。 ---------------------------------------------- C:\java>appletviewer hello.html load: HelloApplet.class は public ではありません。あるいは public なコンストラク タを持っていません。 java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a member of class HelloApplet with modifiers "" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) at java.lang.Class.newInstance0(Class.java:302) at java.lang.Class.newInstance0(Class.java:302) at java.lang.Class.newInstance(Class.java:261) at sun.applet.AppletPanel.createApplet(AppletPanel.java:617) at sun.applet.AppletPanel.runLoader(AppletPanel.java:546) at sun.applet.AppletPanel.run(AppletPanel.java:298) at java.lang.Thread.run(Thread.java:534) ---------------------------------------------- HTMLを開くと赤い「×」が出ています。 環境ですが、 CLASSPATH:C:\j2sdk1.4.2_04\lib\tools.jar;.;c:\java PATH:C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.2_04\bin 作業フォルダ: c:\java となっています。 おかしいところはないと思うのですけど・・・。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • 作ったjarファイルが起動しません。

    Eclipseでエクスポートしたjarファイルが起動しません。 hello.jarというのを作ったのですが コマンドプロンプトを使って java -jar hello.jar ならば正常に起動します。 マニフェストファイルはちゃんとできているように思います。 他の(自分で作ったものでない)JARファイルは普通に動きます。 コードは package hello.konnnitiha; public class Hello { public static void main(String[] args){ System.out.println("Hello!"); } } マニフェストファイルは Manifest-Version: 1.0 Main-Class: hello.konnnitiha.Hello となっています。 ちなみにコマンドプロンプトで java hello.jar で起動しようとすると Exception in thread "main" java.lang.NoClassDefFoundError: hello/jar Caused by: java.lang.ClassNotFoundException: hello.jar 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: hello.jar. Program will exit. となります。

  • サーブレットでコンパイルがうまくいきません。

    質問させて下さい。サーブレットでコンパイルがうまくいきません。 どうか教えて下さい。 エラーはこのとおりです。ディレクトリはC:\Program Files\Tomcat5\webapps\entry\WEB-INF 実行しました。 c:\>set classpath CLASSPATH=C:\Program Files\Tomcat5\common\lib\servlet-api.jar c:\>cd C:\Program Files\Tomcat5\webapps\entry\WEB-INF C:\Program Files\Tomcat5\webapps\entry\WEB-INF>javac src/HelloServlet.java -d classes エラー: src/HelloServlet.java を読み込めません。 エラー 1 個

  • ServletでAppletの表示

    お世話になります。 現在、Eclipse、Tomcat、Firefoxの環境下でServlet及びAppletを勉強しています。 そこでServletでAppletを表示しようとした所、エラーが出ました。 どうやらAppletクラスを探せないでいるみたいなのですが、場所を移動させたりしてもダメでした。 以下エラーのコンソールとServletから抜粋した表示部分のソースです。 オブジェクト指向設計は初めて日が浅いので、他に必要な情報あればご指摘願います。 それでは、よろしくお願いします。 ※エラーコンソール Java Plug-in 1.6.0_17 使用中の JRE のバージョン 1.6.0_17-b04 Java HotSpot(TM) Client VM ユーザのホームディレクトリ = C:\Users\Feng Lu ---------------------------------------------------- c: コンソールウィンドウをクリア f: ファイナライズキューのオブジェクトをファイナライズ g: ガベージコレクト h: このヘルプメッセージを表示 l: クラスローダリストをダンプ m: メモリ使用率を表示 o: トリガログ q: コンソールを非表示 r: ポリシー設定を再ロード s: システムプロパティと配備プロパティをダンプ t: スレッドリストをダンプ v: スレッドスタックをダンプ x: クラスローダキャッシュをクリア 0-5: トレースレベルを <n> に設定 ---------------------------------------------------- load: クラス AppletTest が見つかりません。 java.lang.ClassNotFoundException: AppletTest at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/Applet/AppletTest.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more 例外: java.lang.ClassNotFoundException: AppletTest Error reading latest JRE version. java.net.SocketTimeoutException: Read timed out load: クラス AppletTest が見つかりません。 java.lang.ClassNotFoundException: AppletTest at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/Applet/AppletTest.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more 例外: java.lang.ClassNotFoundException: AppletTest ※ソース(抜粋) protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html><head><title>ServletTest</title></head><body>"); out.println("<applet codebase=\"http://localhost:8080/Applet/\" code=\"AppletTest\" width=800 Height=600></applet>"); out.println("</body></html>"); }

    • ベストアンサー
    • Java
  • jar ファイルが起動しなくなった。

    以前は、jar ファイルをダブルクリックすると起動したのですが、 jar のいくつかのバージョンからダブルクリックしても起動しなくなりました。 OS は、Windows XP, Java は、jre 1.6.0_07 です。 jar 1.5.0_09 のときは、確かに起動した *.jar ファイルです。 同様の現象でお困りの方、又は、解決された方、書き込みお願いします。 ちなみにエラーは、 Exception in thread "main" java.lang.NoClassDefFoundError: C:\Documents and Settings\aaa\デスクトップ\WireObject14/jar Caused by: java.lang.ClassNotFoundException: C:\Documents and Settings\aaa\デスクトップ\WireObject14.jar 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) です。

    • ベストアンサー
    • Java
  • 処理がSTOPしたまま動かない

    JAVAのシステムが運用中に動かなくなりました。 アプリケーションのLogは、処理を開始して止まったままです。 LOOPではありません。 Tomcatを再起動すると正常に動き始めました。 TomcatのLog(Catalina.out)を見ますと、以下のエラーが記述されていました。 致命的: 静的リソースの起動中のエラーです java.lang.IllegalArgumentException: ドキュメントベース /var/webapps/tomcat/webapps/job が存在しない、又は読めないディレクトリです どのようなことが原因として考えられるでしょうか。 また、原因調査の方法を教えてくだい。 よろしくお願いします。

  • JARファイルの起動方法

    現在FORTEのツールを使ってJAVAの勉強をしているのですが、FORTEで作ったアプリをJARファイルにしてFORTE上での実行は問題なくできました。しかしFORTEを使わずにDOS上からコマンドでJARファイルを起動してもエラーが出ます。多分クラスパスの設定の問題ではないかと思うのですがどうもうまくいきません。誰か教えていただけないでしょうか?エラーは C:\>java -jar SerialPort.jar Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPort EventListener at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12

    • ベストアンサー
    • Java
  • jarファイル実行時の環境変数の設定

    Macでjavaプログラムを作成しており,jarファイルを作成しています. このjavaプログラムが,別のjavaプログラムのjarファイルを,外部コマンドとして呼び出しており,日本語(SHIFT_JIS)の入力を処理して,日本語(SHIFT_JIS)の出力をします. java7になって,jarファイルのダブルクリックで起動すると,この外部プログラムが,文字化けした出力を出すようになりました. SHIFT_JISのターミナル上で,java -jar AAA.jar のようにプログラムを起動したときには問題なく動作することと,javaのコードが6から7になって,SHIFT_JISからutf-8に変わったことから,外部プログラムの起動時に環境の文字コードがSHIFT_JISとして動作して欲しいところ,utf-8として処理してしまっていることが原因と考えられます. そこで,jarファイルのダブルクリックから起動する場合について,この外部プログラムの起動時に,動作環境の文字コードがSHIFT_JISとして認識される方法をご教示いただけないでしょうか.

    • ベストアンサー
    • Java
  • FirefoxでJava Appletが表示できません

    掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。 各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。 == Firefox 2.0 の Javaコンソール出力 === Java Plug-in 1.5.0_12 使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadCode(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) == Internet Explorer 7 の Javaコンソール出力 === Java Plug-in 1.6.0_05 使用中の JRE のバージョン 1.6.0_05 Java HotSpot(TM) Client VM

    • ベストアンサー
    • Java

専門家に質問してみよう