• ベストアンサー

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