質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

eclipseの設定

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,020

Fantasista10

score 29

前提・実現したいこと

eclipseを導入したのですが、プロジェクトの作成と実行後の実行構成が表示されてしまう点で理解出来ない点があります。

発生している問題・エラーメッセージ

プロジェクトの設定はプロジェクトメニューからプロパティ→リソース→テキスト・ファイルのエンコード→その他をONにし、UTF-8を選択→新規テキスト・ファイルの区切り文字でその他をONにし、UNIXを選択しました。
Windowswを使っているのですが、基本設定はこれでよろしいですか?

もう一点は、

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello, world!");
}

}
のコードを書いた後、実行を押すと、実行構成というものが出てきてしまいます。
フィルター入力の下に、
Appletomcat,eclipseapplication,eclipseデータツール、Gradleプロジェクト,Grunt,Gulp,HTTPプレビュー,J2EEプレビュー,javaアプリケーション,javaアプレット,jUnit,jUnitプラグイン・テスト,Mavenビルド1,Node.jsアプリケーション,OSGiフレームワーク,RAPアプリケーション,RWTアプリケーション,SWTBotテスト,Test Recorder,XSL,タスクコンテキスト・テスト,タスクコンテキスト・プラグイン・テスト,汎用サーバー,汎用サーバー(外部からの起動)など表示され、右側のウィンドウにはこのダイアログから起動設定を構成すると出ています。

適当に選択するのは嫌なので、もしも分かる方がいらっしゃいましたら、教えていただきたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

基本設定はこれでよろしいですか? 

eclipse上のみでソースを作成・編集・コンパイル・実行する分にはどの文字エンコードを選んでも構いません。

UTF-8を選んだ場合、ソースファイルをeclipseを起動せずにちょっと見たいといった場合、Windows上でメモ帳などを用いて開くと日本語で書いたコメントや文字列などは文字化けのため読めないこともあり得ます。日本語のWindowsでのデフォルトの文字エンコーディングはUTF-8ではなくWindows-31Jだからです。Windows上からでも閲覧しやすくするなら文字エンコーディングとしてWindows-31Jを選んでおくのも一つの選択肢ではあります。

一方LinuxなどではUTF-8が標準のエンコーディングになっていることも多く、色々な環境で扱いやすいという意味ではUTF-8はポピュラーな選択と言えるでしょう。例えWindowsであってもUTF-8を選択しているプログラマーも多いと思います。ですのでUTF-8は「少なくとも悪い選択ではない」と言えると思います。

文字のエンコーディングの違いについては何を選ぶにせよやることに応じて何かのトラブルが起こると考えた方がいいかも知れません。世の中で複数のエンコーディングが使用されている以上、日本語を扱うならその場に応じて適切な考慮をすることが必要です。単にeclipseのプロジェクトのエンコーディングをUTF-8にすれば解決するといった単純な問題ではないのです。ネットワーク通信、DB、ファイル等々場面によって異なるエンコーディングが普通にでてきます。その時々に応じた配慮をすることが必要なんですね。

なおJavaプログラミングをする上では「Javaの言語仕様上は文字はUTF-16に決まっている」ということを覚えておくとよいと思います。ソースファイルが例えWindows-31Jであってもeclipseのプロジェクト設定をWindows-31Jにしておけば、それを正しくコンパイルすることができて(その結果Windows-31J->UTF-16に変換され)、Javaプログラム内部では常にUTF-16として扱われ、外部に出力する際に環境に応じて適切にエンコード変換が行われ(例えばWindows上で実行しているならWindows-31Jに変換されて)出力されると考えてください。文字のエンコーディング変換についてはJavaに限らずいかなる言語で書いていても「入力・プログラム内部・出力」でデフォルトでどのようなエンコーディングが用いられるかやデフォルトと異なるエンコーディングを用いるためにはどうしなくてはならないかの知識が必須になると思います。

実行構成

一般ユーザーがOS上での対話セッション(要するにログインしている環境)で直接起動して利用するようなものをスタンドアロンアプリケーションと呼びます(相当おおざっぱな説明ですが...)。ご質問にあるHelloWorldプログラムはそういうものです。これをJavaで作成するなら実行構成はJava Applicationを選びその構成の設定画面でmainメソッドを定義したクラスを指定しておいてください。もちろんスタンドアロンアプリケーションでないものの場合は「それに応じた正しい実行構成」を選ばなくてはなりません。Javaのスタンドアロンアプリケーションでないものとはどんなものか・・・それはそういうものを作るときに調べてみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/12 21:24

    ありがとうございました。
    概要は理解出来ましたので、これから少しずつ細かい知識をつけていきたいと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる