実現したいこと
Java初心者です。Javaで電卓を作ったので、「.java」ファイルを「.exe」にしたいです。
発生している問題・分からないこと
やり方がわかりません。実行環境は、「pleiades2024」です。
また、自分なりに調べてみたところ、「eclipse」という実行環境だとできるそうですが、「pleiades2024」の情報があまりなくて、本当にわかりません。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
解決しませんでした。
補足
特になし
こちらをどうぞ
https://blog.fourthline.jp/java_exe_jpackage/
ただ、Javaであれば、exeではなくjarを選択したほうが良いと思います
コマンド例
jar -cvfm file.jar file.mf *
> 「.java」ファイルを「.exe」にしたいです。
意図としては、「実行したい」のと「他人に配布したい」、あるいはそれ以外のどれでしょうか。
> Java初心者です。Javaで電卓を作ったので、「.java」ファイルを「.exe」にしたいです。
Javaで作ったプログラムをEXEファイル化するのは一般的ではなく、どちらかと言うと環境設定なども自分でできる中級者以上の操作だと思います。Javaの公式の情報として無いことからも、一般的ではないことが分かります。
もちろんやってはいけないことではないし、質問としてNGな訳でもないですが、Javaに関して初心の方、と言うことで他のプログラミング言語の環境のようにEXE化できることが普通と思っているのであればそれは誤りなので、目的に照らして再考してみても良いかもしれません。
ご回答ありがとうございます。
maisumakun様
ご指摘ありがとうございます。
他人に配布できるようにしたいと思っています。
dodox86様
ご指摘ありがとうございます
Javaをexe化はできない(標準機能にない)のですね。
nanashi123様
URLありがとうございます。試してみます。
配布目的ならば、やはりjarを選択すべきでしょう
Javaでいうexeに相当するものがjarになりますので、exe化より簡易かつ情報源も豊富です
というより、exe化そのものが「他言語からコンソールを呼び出してjarを起動するアプリ」のような構成になります
一度ご検討ください
nanashi123様
アドバイスありがとうございます。ほかの方も言ってくださった[.jar]にしてみようと思います。
改めて、nanashi123さんがコメントされたJARファイルでの配布を私も推します。Java23で実際に確認してみましたが、正規のインストール用パッケージでWindowsにインストールすればJARファイルが関連付けされ、エクスプローラー上からのダブルクリックで処理できます。JARファイルに同梱するMANIFESTファイル(MANIFEST.MF)に実行するクラス名を書けばそれが実行されるので、目的のプログラムをダブルクリックで実行できるようになります。(コンソールアプリだとコンソールが出現しないので、そのままだと何が起こっているか分かりませんが)
ご回答ありがとうございます
私は「Launch4j」で「.exe」ファイルに
出来ましたのでインストールをおすすめします。AIによる回答ではそのexeはWindowsだけの動作なので、exeにはせずにJARファイルでのままで配布すべきとの回答ですね。貼り付けでごめんなさい。
AI による概要
Javaアプリケーションを「.exe」ファイル化するには、「Launch4j」や「exewrap」のようなツールを使用します。これらのツールは、Javaの実行環境がないWindowsでも、ユーザーがダブルクリックするだけでアプリケーションを起動できるようにするものです。これらのツールは、Java仮想マシン(JVM)を内蔵するか、別プロセスとして起動することで実行を可能にします。
Javaアプリを.exe化するメリット
実行の容易さ: ユーザーはJavaの実行環境(JRE)をインストールしていなくても、ダブルクリックするだけでアプリケーションを実行できるようになります。
使いやすさ: Windows専用の実行ファイルとして配布できるため、配布やインストールが簡単になります。
ブランディング: アプリケーション名が「java.exe」ではなく、生成されたEXEファイル名で「タスクマネージャー」に表示されるようになります。
仕組み
EXEラッパー型: exewrapなどのツールは、**JARファイルをEXEファイルで「包む(wrap)」**ものです。これは、ネイティブコードにコンパイルするわけではありません。
JVM内蔵型: アプリケーションの起動時に、EXEファイルが**Java仮想マシン(JVM)を自プロセス内に作成**し、そこでJavaアプリケーションを実行します。
主なexe化ツール
Launch4j: 広く使われている、exeを作成するためのツールです。
exewrap: JARファイルをEXEで包む(wrap)ことに特化したツールです。
JSmooth: Launch4jと同様の目的を持つツールです。
注意点
JARファイルは多くのプラットフォームで動作するのに対し、EXEファイルはWindows専用です。配布する環境に応じて適切なファイル形式を選択する必要があります。
EXE化は、あくまで実行形式をWindowsユーザー向けに変更するもので、Javaコード自体をネイティブコードに変換するものではありません。
回答3件
あなたの回答
tips
プレビュー