MacのJavaでプログラムをコンパイルして実行するにはどうすればよいですか?


99

MacのJavaでプログラムをコンパイルして実行するにはどうすればよいですか?

私は新しいです。

また、状況に影響がある場合は、ここで提案されたテキストラングラーと呼ばれるプログラムをダウンロードしました。

回答:


189

Mac OSXまたは主要なオペレーティングシステムでのJavaアプリケーションのコンパイルと実行は非常に簡単です。Appleには、完全に機能するJavaランタイムと開発環境がOSXに標準で含まれているため、Javaプログラムを作成し、組み込みのツールを使用してコンパイルおよび実行するだけです。

最初のプログラムを書く

最初のステップは、単純なJavaプログラムを作成することです。テキストエディターを開き(組み込みのTextEditアプリは正常に動作します)、次のコードを入力し、ファイルを "HelloWorld.java"としてホームディレクトリに保存します。

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

たとえば、ユーザー名がDavidの場合、「/ Users / David / HelloWorld.java」として保存します。この単純なプログラムはHelloWorld、と呼ばれる単一のクラスと、と呼ばれる単一のメソッドを宣言しmainます。このmainメソッドは、プログラムの実行を指示したときにJavaランタイムが呼び出そうとするメソッドであるため、Javaでは特別です。プログラムの出発点と考えてください。このSystem.out.println()メソッドは、「Hello World!」というテキスト行を画面に出力します。この例では。

コンパイラーの使用

簡単なJavaプログラムを作成したので、それをコンパイルする必要があります。「アプリケーション/ユーティリティ/Terminal.app」にあるターミナルアプリを実行します。端末に次のコマンドを入力します。

cd ~
javac HelloWorld.java

単純なものですが、OSXで最初のJavaアプリケーションをコンパイルしました。コンパイルのプロセスは、「HelloWorld.class」と呼ばれる単一のファイルを生成します。このファイルには、Java仮想マシンが理解できる命令であるJavaバイトコードが含まれています。

プログラムを実行する

プログラムを実行するには、ターミナルで次のコマンドを入力します。

java HelloWorld

このコマンドは、Java仮想マシンを起動し、というクラスのロードを試みますHelloWorld。そのクラスをロードすると、main前述のメソッドが実行されます。「Hello World!」が表示されます。端末ウィンドウに印刷されます。これですべてです。

補足として、TextWranglerはOSXの単なるテキストエディタであり、この状況には関係ありません。この例ではテキストエディタとして使用できますが、必ずしも必要ではありません。


これが発生しました:最終ログイン:月3日1月23:41:53 ttys000 david-allenders-macbook-pro:〜davidallender $ cd〜david-allenders-macbook-pro:〜davidallender $ javac Helloworld.javaエラー:読み取れません:Helloworld .java 1エラーdavid-allenders-macbook-pro:〜davidallender $何が悪いのでしょうか?
David

1
ファイルを間違ったディレクトリに保存したか、誤ったファイル名を使用して保存したようです。ファインダーのホームディレクトリで「HelloWorld.java」という名前のファイルを再確認します。ここでは大文字と小文字も重要なので、「Hello w orld.java」ではなく「HelloWorld.java」と呼ばれるようにしてください。
William Brendel

OK。私はあなたの指示に従い、すべてがうまくいきました。ご協力ありがとうございました。ほんとうにありがとう。
David

すべてのプログラムはJava .classファイルにありますか?私はこれを見たことがない、OSXかPC。ほとんどの人が使用できるようにプログラムをコンパイルする別の方法はありますか?
Steve Chamaillard

textEditがファイルを自動的に.rtf(リッチテキスト形式)として保存し、.javaを許可しないという問題がありました。これを解決する方法は、textEdit do format> makePlainTextです。
ルイスブラック

6

コードを記述してコンパイルする手順を説明します。この例を使用してください:

 public class Paycheck {
    public static void main(String args[]) {
        double amountInAccount;
        amountInAccount = 128.57;
        System.out.print("You earned $");
        System.out.print(amountInAccount);
        System.out.println(" at work today.");
    }
}
  1. コードを保存 Paycheck.java
  2. 端末に移動して入力 cd Desktop
  3. タイプ javac Paycheck.java
  4. タイプ java Paycheck
  5. プログラムをお楽しみください!

1
参考までに、ファイルの先頭にパッケージ名があり(単一のJavaファイルを実行している場合)は、が表示されますError: Could not find or load main class <package name>。この例では、ちょうど開始時に2つのスラッシュを置くことによって、パッケージをコメントアウト
kurdtpage

3

Eclipseをダウンロードしてインストールすれば、準備は完了です。
http://www.eclipse.org/downloads/

Appleは独自のバージョンのJavaを提供しているので、それが最新であることを確認してください。
http://developer.apple.com/java/download/


Eclipseは統合開発環境です。これには多くの機能がありますが、この段階であなたに関連するものは次のとおりです。

  • ソースコードエディター
    • 構文の強調表示、色、その他の視覚的な手がかり
    • 学習を容易にするためのドキュメントへの簡単な相互参照
  • コンパイラ
    • ワンクリックでコードを実行する
    • あなたが行くようにエラー/間違いの通知を受け取ります

より多くの経験を積むと、その豊富な機能の残りの部分を理解し始めるでしょう。


7
@David From Dictionary、「天体と観測者の間、または天体と照明源の間の別の天体の通過による光の不明瞭化:日食」。しかし、この場合、JAVA開発に最適なIDEです。
rptwsthi 2013

NetBeansを代替として使用することもできます
kurdtpage '21

1

コンピューターにJavaのMac互換バージョンが存在することを確認する必要があります。ターミナルからjava -versionを実行して確認してください。そうでない場合は、アップルのWebサイトからアップルのjdkをダウンロードしてください。(Sunは、IIRC自体、アップルのためにそれを作成しません。)

そこから、他のプラットフォームのjavaに使用するのと同じプログラムのコンパイルからのコマンドラインの指示に従います。


1
@rob、私はあなたが私がこれまでにどれほど新しいかを過小評価していると思います。そのすべてをもっと簡単に説明していただけませんか。
David

0

他の解決策はあなたの質問に答えるのに十分良いです。ただし、それを行うためのコマンドを1つだけ探している場合-

Javaファイルがあるディレクトリに「run」というファイル名を作成します。これをファイルに保存します-

javac "$1.java"
if [ $? -eq 0 ]; then
  echo "--------Run output-------"
  java "$1"
fi

次のコマンドを実行して、このファイルに実行許可を与えます-

chmod 777 

これで、実行するだけでファイルを実行できます-

./run <yourfilename> (don't add .java in filename)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.