こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Linuxで作成windowsで実行するjava

タイトルどおり、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ファイルが生成されていますがうまく実行できません。

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

投稿日時 - 2013-12-22 09:11:13

QNo.8396200

困ってます

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

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

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

投稿日時 - 2013-12-22 16:40:59

お礼

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

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

投稿日時 - 2013-12-22 18:02:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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で起動クラス名を指定)

投稿日時 - 2013-12-22 11:56:33

お礼

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

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

投稿日時 - 2013-12-22 12:32:28

あなたにオススメの質問