タイトルどおり、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ファイルが生成されていますがうまく実行できません。
よくわかっていないのですがよろしくお願いします。
No.2ベストアンサー
- 回答日時:
> windowsではアイコンをクリックしたらプログラムが動くようにしたい
「実行可能jarファイル」というものがあります。jarファイルを作るときに起動クラスを指定することで作れます。作り方はググって調べてください。
この形式ならば、Windowsでjarファイルのアイコンをダブルクリックすることで実行できます。
ただし、System.out.println()などを使ったコンソール入出力をするためのウィンドウが開かないので、CUIのプログラムの実行には向きません。
ありがとうございます!
「実行可能jarファイル」で検索してみつけた
http://blog.mwsoft.jp/article/47697273.html
こちらのページに書いてある通りにすると、
linuxで生成したファイルをwindowsでダブルクリックで
実行できました!
(コマンドプロンプトが一瞬立ち上がっただけですが
きっとhello!と表示されていると期待しています。笑)
おかげさまでjavaのスタートラインに立てました。
ありがとうございます。
No.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で起動クラス名を指定)
ありがとうございます。JREなるものをいつの間にか入れたようで
たしかにコマンドプロンプトで実行できました。
ところで私としてはwindowsではアイコンをクリックしたら
プログラムが動くようにしたいのですが、これは作ったjavaプログラムを
起動するようなc++等を書いてwindows上でコンパイルする、
という作業になるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Ruby プログラミング 3 2023/06/09 14:30
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- JavaScript ifreamをリロードしたい 1 2022/05/03 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classファイルについて
-
Eclipse「リフレッシュ」と「ク...
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
プログラム実行の際に、「ソー...
-
eclipse でclassesフォルダーが...
-
SVFの設定について:クラスパス...
-
【Eclipse】逆コンパイルでエラ...
-
JADで*.jarごとデコンパイルす...
-
『ClassNotFoundException: org...
-
<Tomcat>存在しないJSPをイン...
-
「メイン・マニフェスト属性が...
-
一意の文字列を取得したい
-
java クラスファイルとソースコ...
-
EclipseでHTTP404エラーが出る。
-
JAR内のクラス一覧と、メソッド...
-
「main メソッドを持つクラスが...
-
Ct.jsのJsonファイルのエラー
-
ディレクトリを操作したいと思...
-
FileWriterで8kb以上書き込むに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaクラスファイルをEclipseで...
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
JADで*.jarごとデコンパイルす...
-
jdbcドライバのjarファイルにク...
-
java クラスファイルとソースコ...
-
「削除するか、クラスパスの正...
-
プログラム実行の際に、「ソー...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
-
コンパイルした後 java (class...
-
vbs で jar ファイルを起動させ...
-
『ClassNotFoundException: org...
-
org.apache.tools.zip.* を使っ...
おすすめ情報