• ベストアンサー

JavaAppletをサーバ上で

JavaApplet初心者です。 JavaAppletの勉強中でAppletともApricationとしても動作するパズルゲームを作っているのですが、 以下のURLの様にJavaAppletを設置しても上手くロードされなくて困っています。 http://juner.csx.jp/game/25bottan/ ローカル上ではしっかりと動作するのですが、どうもサーバ上で動作させるとClassLoderにて上手くButton25Puzzle.classがロードされない様なのですが、 以下のタグでは無理なのでしょうか? <applet code="Button25Puzzle" archive="./25button.jar" codebace="./" width="410" height="350"></applet> 説明できていなかったらすみません。

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

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.6

> Antの設定方法がおかしいのでしょうか? "25bottan"は問題ないと思いますが、Eclipseにとっての"."とあなたの想定の"."は確実に同じですか? <delete file='25button.jar' /> vs. <jar jarfile="25button.jar" basedir="."> そして、EclipseはSunのJava使ってんの? それと、私が作ったjarはclassファイルとimg, logディレクトリ、自動作成されたMETA-INFディレクトリだけで、余計なものが何もないですよ。

juner
質問者

お礼

原因はAntのbuild.xmlにあった様です。 要らないものを消し、jarタグ内のincludesタグを消したところ意外と綺麗に出来ました。 どうも有難う御座います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.7

appletviewerやローカルhtmlからならappletとして動作はしているのですよね? アーカイブをftpアップロードするときに、アスキー転送しちゃって、「改行コード置き換え=>ファイルが壊れた」 というあたりが予想されるんですけど?

juner
質問者

補足

通常はTomcat上でも確認しているので多分それが原因では無いと思います。 尚、Tomcat上でも無理でした。

全文を見る
すると、全ての回答が全文表示されます。
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.5

ソースから新たにコンパイルしてjarも新たに作ったら、動きました: (ふつうのプロバイダのふつうのホームページスペースです。) http://homepage1.nifty.com/algafield/25puz.html なお、当方のJavaは: java version "1.6.0_02" Java(TM) SE Runtime Environment (build 1.6.0_02-b05) Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing) です。

juner
質問者

お礼

すごい…動いていますね…。 その為、Eclipse3.2にて再コンパイルしてjarファイル作成してみたのですが…。 上手く動きませんでした。 バージョンも1.60_02に変更しましたし、特に変な事はしていない筈なのですけれども…。 Antの設定方法がおかしいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • kacchann
  • ベストアンサー率58% (347/594)
回答No.4

サーバがヘボいのでは? 他のサーバで実験してみましょう。

全文を見る
すると、全ての回答が全文表示されます。
noname#49664
noname#49664
回答No.3

URLにアクセスしてみましたが、Javaコンソールで見るとIncompatible magic valueが発生しているようですね。 これは、JavaクラスファイルあるいはJarファイルが破損しているか、またはクラスファイルのバージョンが不適合かが原因です。クラスファイルの破損というのは、あるいはアプレットのコーディングにどこか問題があってオンライン経由で問題が発生するようになっている場合にも発生します。 例えば、1.3~1.4あたりの古いコーディングをしていて、それが今の1.5~1.6で問題として表面化するということもあります。特にアプレット初期化あたりの処理を見直してみて、クラス関係をすべてリコンパイルしてみましょう。 また、稀にですが古いキャッシュが残っているという可能性もありますのでキャッシュのクリアもお忘れなく。 とりあえず、今、思いつくのは、こんなものですが……。

全文を見る
すると、全ての回答が全文表示されます。
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

<applet>タグの書かれたHTMLファイルと同じディレクトリに25button.jarが置いてあって、その中にButton25Puzzle.classがあれば、すべて、すんなり行くはずですが…。

juner
質問者

補足

ファイルの構造が判りにくい様なので http://juner.csx.jp/game/25bottan/ に明記しておきました。 尚、ゲーム自体を http://juner.csx.jp/game/25bottan/play.html へ移動しました。

全文を見る
すると、全ての回答が全文表示されます。
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

やまかんですが、たぶんこうでしょう: <applet code="Button25Puzzle.class" archive="25button.jar" width="410" height="350"></applet>

参考URL:
http://java.sun.com/docs/books/tutorial/deployment/applet/html.html
juner
質問者

補足

む…。回答ありがとう御座います。 しかしながら、同じくそれでも「ClassNotFoundException」が出て無理でした。 尚、"./"はそのフォルダ内という意味で略す事も出来ます。敢えて私は付ける派ですけれど。 尚、codeの".class"も略せた筈なので敢えて付けておりません。 回答どうも有難う御座います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • java-prugin1.3、Netscape communicatorでアプレットが呼び出せない。

    私は現在JAVAアプレットを作成しそのクラスファイルをjarにして そのjarファイルの中からクラスファイルをロードするhtmlを書きたいので、 アプレットを貼り付ける個所に以下のようにタグを書いたのですがJAVAコンソール上でクラスが見つかりません。といわれて失敗してしまいます。 (netscapeのみ失敗します。IEは成功してアプレットを実行できます。) 何か他に必ず指定しなければいけない属性があるのでしょうか? javadocも見て確認したのですが。。。 どなたか教えていただけないでしょうか? ちなみにjarファイルもhtmlファイルも全て同階層のディレクトリにおいてあります。 ----------ソースここから-------------- <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,1,3"> <PARAM NAME="code" VALUE="ReportSample.class"> <PARAM NAME="archive" VALUE="Sample.jar"> <PARAM NAME="codebase" VALUE="."> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="mylabel" VALUE="MyLabel"> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="200" height="200" align="baseline" java_archive="Sample.jar" java_codeBase="./" java_code="ReportSample.class"  pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"> <NOEMBED> </COMMENT> Java Plug-inの実行に失敗しました </NOEMBED> </EMBED> </OBJECT> --------------------------------------

    • ベストアンサー
    • HTML
  • Swingのコンパイルは成功するのですが・・・。

    Swingを用いたプログラムをコンパイルして実行(javac Pull.javaとEclipseで)すると普通に動作するのですが <html> <head> <title>title</title> </head> <body> <hr> <applet code = "Pull.class" width=900 height=600> </applet> <hr> </body> </html> とwebブラウザ上で実行しようとすると上手くいきません。 FirefoxとIE,Safariで実行してみたのですが駄目でした。 特にFirefox上で動かしたいのですが <applet code = "Pull.class" width=900 height=600> ではいけないのでしょうか? よろしくお願いします。

  • アプレットがappletviewerでは動くのに、ブラウザだと動かない

    アプレットを作ってjarファイルにして実行しているのですが、 コマンドラインからappletviewer xxxx.htmlで実行した場合は 問題なく動きます。 しかし、ブラウザで開いて実行すると×が出ます。 ブラウザの<applet>タグは <applet code=xxxxx archive=xxxxx.jar width = 100 height = 100> </applet> こんな感じです。 どういった原因が考えられますか? 教えてください。

    • ベストアンサー
    • Java
  • 動作しないプログラム

    このようなプログラムです。 /*<applet code = "Lesson14.class" width = 300 height =200></applet>*/ import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Lesson14 extends Applet{ Button myBtn; Label mylbl; public void init(){ setBackground(Color.pink); setLayout(new BorderLayout()); myBtn = new Button("Clickしてね"); mylbl = new Label("",Label.CENTER); add("North",myBtn); add("Center",mylbl); myBtn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ repaint(); } }); } public void paint(Graphics g){ mylbl.setText("clickしたな!"); } } ---------------------------------------- はじめにmylblに””と何も入れておかずに、 後からsetTextで、文字をいれ、クリックされたときにrepaint()にて、表示される、という単純なものです。 しかし動作しないのです。 書籍を見ながらやったほうも、CDーROM殻読み出したものもだめでした。 僕の動作環境は1.4.1_03でXPと2000です。 その書籍は少し古くて1.3.0と書いてあります。 バージョンアップによってうまく動作しないのでしょうか・・・??

    • ベストアンサー
    • Java
  • HTTPサーバプログラム

    C言語でHTTPサーバを作ろうとしています。 大方動くのですが、Java Applet(Jarファイル)を埋め込んだWebページをクライアント側のブラウザに表示させようとすると、エラー(ClassNotFoundError)が発生してしまいます。 ※GIFファイルなどの表示はうまく動いています。 パケットキャプチャソフトなどを活用して色々調べてみると、サーバ側からクライアント側へJarデータを送信する処理が上手く動いていないようです。 今のHTTPサーバの制約で、データ送信関数で一度に送信できるサイズが32KB程度になっています。 Jarファイルがこの最大サイズ(32KB)以下であれば問題なくクライアント側でJava Appletが起動するのですが、このサイズを超えるJarファイルの場合に先のエラーが発生してしまいます。 ※例えばJarファイルサイズが50KBの場合は、データ送信関数を2度呼び出す処理になります(1回目は32KB送信、2回目は残りの18KBを送信します)。 パケットキャプチャソフトでデータの流れを確認すると、50KBのJarファイル・データはクライアント側へちゃんと送信されているように見えるのですが、Jarファイル・データがクライアント側へ送信された後、(恐らく、クライアント側でJarファイルが正しく受信されなかったと認識されているため)クライアント側はClassファイルをサーバ側へリクエストしに行っています。 ※<applet archive="test.jar" code="test.class">としている場合は、"test.jar"ファイルのデータ送信後、クライアント側から"test.class"をサーバ側へリクエストしに行っています。 50KB程度のGIFファイルなどは、分割送信処理を用いてちゃんとクライアント側のブラウザで表示できているのですが…Jarファイルはなぜ上手くいかないのか分かりません。 Jarファイル・データ送信時には何か特別な制約があるのでしょうか? どなたか詳しい方がおられましたらお教えいただきたく存じます。

  • 揺れる画像を作りたい・・・

    湖に揺れる影の画像に挑戦中です <applet code="Lake" border=10 width=400 height=450> <param name="image" value="syasin1.jpg"> </applet> と、言うのですが どうしても出来ません。 これを作って自分のHPに貼り付けたいのですが どこが間違ってるのか判りません。 サーバーにもアップできないのです。 一からやり直そうと思います。 ご存知の方詳しく教えてくださいませんか?

    • ベストアンサー
    • Java
  • エクリプスでJavaアプレットを実行する時、自動生成するデフォルトのHTMLの内容を変更したい

    表題の通り、エクリプスでJavaアプレットを実行する時、自動生成するデフォルトのHTMLの内容を変更したいのですが教えて下さい。 エクリプスのメニュー → 実行 → 実行 → Javaアプレット で起動を確認すると、デフォルトでソースのあるフォルダ下に下記のHTMLが生成され起動されます。 ファイル名:BreakOut_Game1246582336296.html ------------------------------- <html> <body> <applet code=BreakOut_Game.class width="200" height="200" > </applet> </body> </html> ------------------------------- 上記のアプレットのHTMLデフォルト設定を変更したい(アプレットの枠の座標定義を変更したい)のですが、どなた様かご教授の程よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 教えてください。

    おはようございます。 ここに全部のソースを入れたいのですが、ものすごく長文になってしまいますのでアプレットソースだけ入れます。 <APPLET archive="DuriusWaterPic.jar" WIDTH="400" HEIGHT="300" ALIGN="middle" CODE="DuriusWaterPic.class"> <PARAM NAME="cabbase" VALUE="DuriusWaterPic.cab"> <PARAM NAME="image" VALUE="http://kkpen.web.fc2.com/flower-preview.jpg"> <PARAM NAME="dim" VALUE="5"> <PARAM NAME="noise" VALUE="0"> <PARAM NAME="mouse" VALUE="7"> <PARAM NAME="timer" VALUE="0"> <PARAM NAME="target" VALUE="_blank"> <PARAM NAME="orientation" VALUE="v"> <PARAM NAME="bg" VALUE="233423"> <PARAM NAME="http://java.sun.com/products/javawebstart/apps/remoteApps.html./" VALUE="http://www.durius.com/ http://altavista.digital.com/ http://www.javaboutique.com/ http://www.davesclassics.com/"> <PARAM NAME="reg" VALUE="22454732"> </APPLET> 私のホームページのindexに使用したいのですが、javaScriptも入っています。あとは、auto.jifと言うのでしょうか?CGIと言うのでしょうか?ちょっと解りませんが、自動で三目並べを延々続けている画像も入っています。全部表示されます。 javaAppletだけが、色はグレーのまま、左上に【赤く“x”の文字】が表示されたままで、お花の画像が出てきません… このアプレットは“水面のようにjpg画像が揺れる”アプレットです。 ダウンロード先は ​http://www.durius.com/​; ここです。 ダウンロードし、家でいくつか試しましたがどのサンプルも見られますので、写っても良いはずなのですが… 長文失礼いたしましたが、何分にもjavaAPPLETは初挑戦なもので… よろしくお願いいたします。

  • JAVAアプレット zipの参照

    いろいろとネットで調べたのですがよくわからなかったので質問します。 自分で簡単なJAVAアプレットを作成しました。そのclassファイルをzipファイルとしてまとてめて保存しました。 その後HTMLに <applet code="*****" CODEBASE="***.zip"width=300 height=200> </applet> としたのですがzipファイルの参照が出来ませんでした。 zipファイルに入れずに同じディレクトリで実行すればできるのですがzipファイルにまとめるとだめみたいです。 もうどうすれば良いのか分からず困っています。どなたかわかる方よろしくお願いします。

  • return;

    retrun;を取ると動作がおかしくなるんですが return;にはどういう働きがあるんでしょうか? お願いします。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; //<applet code = "a.class" width = "300" height = "300"></applet> public class a extends Applet implements ActionListener{ Dialog d; Frame f; public void init() { setLayout( new GridLayout( 1, 1 ) ); Button b = ( Button )add( new Button( "frame" ) ); b.addActionListener( this ); } public void actionPerformed( ActionEvent e ){ if( e.getActionCommand() == "frame" ){ if ( f == null ){ f = new Frame( "Kitty on your lap" ); Button fb = (Button)f.add( new Button( "Kitty " ) ); fb.addActionListener( this ); f.setSize( 200 , 200 ); f.setVisible( true ); }else if( d == null ){ f.dispose(); f = null; } return; } if( e.getActionCommand() == "OK" ) { d.dispose(); d = null; return; } d = new Dialog( f, "Kitty", true ); d.setLayout( new GridLayout( 2, 1 ) ); d.setResizable( false ); d.add( new Label( "Kitty on your lap" ) ); Button b = (Button)d.add( new Button( "OK" ) ); b.addActionListener( this ); d.setSize( 400 , 200 ); d.setVisible( true ); } }

    • ベストアンサー
    • Java