プロが教えるわが家の防犯対策術!

タイトルどおり、Linux上で実行ファイルを作成してそれを
windows上でも実行できるようなjavaの書き方を教えてください。
普段の作業はlinux上で行っていますのでここでソースを書いて、
他人に使ってもらうことを念頭にwindowsでも動くプログラムを書きたいです。

私はjavaは使ったことがなく、普段はperlをメインにたまにcを使う程度の
能力です。

linux上でHello.javaを以下のように作成し、
--------------
public class Hello{
public static void main(String[] args){
System.out.println("hello!");
}
}
---------------
$javac Hello.java
$java Hello
で実行できるところまでは行きましたが、これ以降はどうすればいいのでしょうか?

検索してみてjar圧縮が必要かと思い
$jar cvf Hello.jar Hello
とすると
added manifest
adding: Hello.class(in = 410) (out= 281)(deflated 31%)
と表示され、Hello.jarファイルが生成されていますがうまく実行できません。

よくわかっていないのですがよろしくお願いします。

A 回答 (2件)

> windowsではアイコンをクリックしたらプログラムが動くようにしたい



「実行可能jarファイル」というものがあります。jarファイルを作るときに起動クラスを指定することで作れます。作り方はググって調べてください。
この形式ならば、Windowsでjarファイルのアイコンをダブルクリックすることで実行できます。
ただし、System.out.println()などを使ったコンソール入出力をするためのウィンドウが開かないので、CUIのプログラムの実行には向きません。
    • good
    • 0
この回答へのお礼

ありがとうございます!
「実行可能jarファイル」で検索してみつけた
http://blog.mwsoft.jp/article/47697273.html
こちらのページに書いてある通りにすると、
linuxで生成したファイルをwindowsでダブルクリックで
実行できました!
(コマンドプロンプトが一瞬立ち上がっただけですが
 きっとhello!と表示されていると期待しています。笑)

おかげさまでjavaのスタートラインに立てました。
ありがとうございます。

お礼日時:2013/12/22 18:02

javac実行後に、Hello.classというファイルができているはずです。

それをWindowsにコピーして、コマンドプロンプトから同じように"java Hello"で実行できます。そのときWindowsには予めJREをインストールしておく必要があります。

classファイルの数が増えてきたりパッケージを使うようになったらzipファイルあるいはjarファイルを作ったほうがいいでしょう。

<<zipファイルの場合>>
$ zip Hello.zip Hello.class
$ java -cp Hello.zip Hello
(-cpオプションでzipファイル名を、その後のHelloで起動クラス名を指定)
    • good
    • 0
この回答へのお礼

ありがとうございます。JREなるものをいつの間にか入れたようで
たしかにコマンドプロンプトで実行できました。

ところで私としてはwindowsではアイコンをクリックしたら
プログラムが動くようにしたいのですが、これは作ったjavaプログラムを
起動するようなc++等を書いてwindows上でコンパイルする、
という作業になるのでしょうか?

お礼日時:2013/12/22 12:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!