(この記事はQiitaからのコピーです。 本記事の投稿日はQiitaでの投稿日としています。)
ke9000氏が書いた「 Java AppletをIDE使わずにビルドしたい 」を試していたところ、一つのプロジェクトならいいが、学校の授業のように頻繁にソースコードを切り替えるときには、毎回HTMLファイルを書き換え、Classesフォルダを作り・・・っとやるのは大変なことに気づいた。
そこで、LinuxやMac等のOSに限るが、簡単に操作ができるようにしてみる。
もちろんやってることは当たり前すぎて、参考になるほどでもないが、備忘録として書いておく。
基本的に先述の記事を読んだことを前提に進めるが、一応適宜コードは書いていく。
(注: Classesフォルダに毎回コピーをしているのは、授業ではNetBeansを使用しているため、srcフォルダから元ソースファイルを動かせないためである)
1. フォルダ構成について
今回は、~/Javaというフォルダ内で作業する。
Java/の中にプロジェクトフォルダがあり、その中にソースコードがあるという前提で話をすすめる。
2. HTMLファイルを用意する
1 2 3 4 5 6 7 8 9 |
<html> <head><title>Applet Test</title></head> <body> <applet code="CLASS_NAME.class" width="150" height="150"> </applet> </body> </html> |
これを~/Java/applet.htmlとして保存する
3. シェルスクリプトを書く
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/bin/sh javac $1.java # 引数として渡された名前の.javaファイルをコンパイル if [ -e $1.html ]; then : else cat <Javaフォルダのパス>/applet.html | sed "s/CLASS_NAME/$1/" > $1.html fi # 先程作ったhtmlファイルをベースに、「CLASS_NAME」をそのときに使うファイルに変更したものを作る。あったら作らない。 mkdir Classes 2>/dev/null # Classesフォルダがなかったら作る cp *.class Classes # コンパイルでできた.classファイルをClassesにコピー/上書きコピー appletviewer $1.html # Appletを起動 |
mkdirのところはifで分岐させても良かったが、エラーは単純に「すでにあるから作れないよ!」なので、表示させなければそれでいいということでこうした。
ちなみにapplet.htmlとapplet.shは同じディレクトリにいることを前提としている
4. エイリアスに登録する
今作ったシェルスクリプトを、.javaフォルダのあるところで簡単に実行できるようにbashrcに書く
1 |
alias applet='<applet.shのパス>/applet.sh' |
5. 使ってみる
アプレットを使用したプログラムのソースコード(hoge.java)の位置まで移動して、
(.javaはいらない)applet hoge
で、コンパイルから指定フォルダまでの移動、起動までやってくれる)
以上。
元記事でも言ってるけど、JavaAppletって非推奨なんじゃないの?
コメント