2017-01-08 8 views
4

私は新しくインストールして、Javaをインストールする前にNetBeansとOpenOfficeを実行することができました。これらのプログラムがJavaで書かれている場合、これはどのように可能ですか?私はいくつかの.classから.exeまでのコンバーターが存在することを知っていますが、これらはハッキングだと思っています(世界中に展開されている大規模なアプリケーションには適していません)。 JREを使用せずにJavaでアプリケーションをデプロイする一般的なアプローチは何ですか?標準、または最も一般的な方法がありますか?Javaで書かれたプログラムはJREを必要としません。

は、最初に私はそれがJarファイルとしなければならなかったと思ったが、私が赤のものから、これらを実行するために、既存のJavaのインストールが必要です。

+0

重複http://stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to-an-exe-file –

+1

afaik OpenOfficeはC++で書かれています – trooper

+0

すでにJavaがインストールされていますNetbeansが走ったら。 – EJP

答えて

2

すべてのJavaアプリケーションは、JREの上で実行されます。 NetBeansとOpenOffice。

ほとんどの展開可能なJavaアプリケーションには、JREがパッケージ化されています。あなたにはJREはありませんが、実際にはそこにJREがあり、その上にアプリケーションが実行されることがわかります。あなたがマシンコードにコンパイルいずれか、またはあなたはインタプリタを使用します。

+0

それで、あなたは基本的に、アプリにそれ自身のJREが付属していると言っていますか?なぜなら、アプリが稼動していたときには、コンピュータにはインストールされていなかったからです。 – Celeritas

+0

はい、たとえばJDK/JREを使用しているNetbeansにアクセスできます。http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html – shazin

+0

@Celeritasはlaunch4jなどを見ています。 、それはjarファイルとjreをバンドルして、exempleのためにそれらを.exe(少なくともウィンドウズ用)にすることができます – NeeL

0

は、あなたがプログラムを実行することができる唯一の2つの方法があります。

JRE

は、Javaバイトコードを解釈し(そしてもちろん、より多くのことを行います)。 Javaソースまたはバイトコードからネイティブ実行可能ファイルを生成するコンパイラがあります。私が知っている唯一のものはgcjです。最後にチェックしたのはJava 5のためだけであり、信頼性が高いとは思われませんでした。

ほとんどのJavaアプリケーションは、JREを必要とするか、またはディストリビューションに含まれる1つを持っているのどちらか。

はたとえば、あなたがまたはJREが含まれなくても、Oracle SQL Developerを得ることができます。 Netbeansについては、JDKが必要なディストリビューション(コンパイラと開発ツールが必要なためJREは不十分です)、Netbeansバンドルを持つJDKもあります。

Javaアプリケーションを起動するには、Java Web Startなどをカウントしないで、主に3つの方法があります。手動でjavaコマンドを実行するか、そうするスクリプトを使用するか、「wrapper」という実行可能ファイルを実行します。

そこにはいくつかのラッパーがあり、どのアプリケーションでもカスタマイズできます。 PJ Fanningによるリンクには、間違いがない限りリストが含まれています。ラッパーは、JREを使用してアプリケーションを実行し、システム起動時にサービスとしてのJavaアプリケーションの開始を容易にします。

ネイティブコードにコンパイルされたアプリケーションが見つからない限り(そして、理想的にはJavaアプリケーションであるとは言えません)、プレインストールされているJREを使用しています。バンドルされたもの。

関連する問題