ファイル.settings/org.eclipse.jdt.core.prefs
はプロジェクトの一部ですか、それとも私の個人的なEclipse設定の一部ですか?.settings/org.eclipse.jdt.core.prefsはプロジェクトの一部ですか?
バージョンコントロールに追加する必要がありますか?
ファイル.settings/org.eclipse.jdt.core.prefs
はプロジェクトの一部ですか、それとも私の個人的なEclipse設定の一部ですか?.settings/org.eclipse.jdt.core.prefsはプロジェクトの一部ですか?
バージョンコントロールに追加する必要がありますか?
はい、そうです。このファイルがバージョン管理下にない場合、同じプロジェクトの再現可能なビルドを作成することはできません。これは自己完結型ではなく、特定のEclipseインストールとその設定に依存します。
このプロジェクトを別のワークスペース(自分のマシン上または他のマシン上)にインポートすると、コンパイラのコンプライアンス設定、コンパイラの警告設定、その他多くの不具合が突然見つからないか、まったく異なる場合があります。そのようなプロジェクトが新しいワークスペースに突然警告/エラーを表示する可能性は高いですが、以前はまったく問題ありませんでした。
注:これはまた、実際にはのすべてのJava関連の設定をプロジェクトプロパティで設定する必要があります。自己完結型のプロジェクトを作成する場合は、Window - > PreferencesのJavaコンパイラ設定を使用しないでください。
具体的な例を挙げてみましょう:Java 6固有の機能(インタフェースで注釈を上書きするなど)を使用しているため、プロジェクトコンパイラ準拠レベルをJava 6に設定した場合、プロジェクトは他の人々のマシンでcreate a lot of compile errorsになります。これは、すべてのEclipseワークスペースのデフォルトのコンパイラ準拠レベルがJava 1.5であり、Java 1.5では、Overrideアノテーションが許可されていないためです。
これは、他の回答に示されているように、クローズソースまたはオープンソースを開発するかどうかとは関係ありません。ここで
@ nitindの意見とは反対に、 IDE固有の設定は、バージョン管理下に置かないでください。 IDEの機能やプラグインを開発している場合を除きます。
チーム全体のIDE設定が本当に必要な場合は、バージョン管理下に置くことをお勧めしますが、チーム全体の設定を必須とするIMO自体は良い考えではありません。
他のすべてのケースでは、共有IDE設定は、同じIDEであっても、移植性のあるビルドには悪く、ほかのIDEのユーザーにとっては無駄になります。
編集:プロジェクトのターゲットグループに応じて、区別する必要があります。 Eclipseで作業するチームでクローズドソース製品を開発している場合は、これらのプリファレンスをバージョン管理下に置いておくと便利です。ライブラリ、オープンソース、オープンソースプロジェクトを開発している場合は、より適切で丁寧な設定を無視することを検討します。
EDIT2:私は恐れている@Bananenweizenは私が言うことを誤解しています。
私はこれらの設定がEclipseコンパイラ設定であることを知っています。コマンドラインからantやmavenビルドに影響を与えないため、NetbeansやIntelliJには何の影響も与えないという意味で、IDE固有のものです。
はい、これらの設定をバージョン管理から離れると、別のマシンのeclipseで多くの赤い波線が表示されます。ところで、ソースレベルが設定されたmavenプロジェクトの場合、私はantについてはわかりません。
Eclipseはプロジェクトをビルドするのではなく、Eclipseプロジェクトの場合はant、ビルドプロジェクトの場合はmavenをビルドします。 antとmavenの両方に、IDEに依存しないソースバージョンのための特定の設定があります。
これは、これらの設定がビルドファイル内にあるべき場所です。ビルドファイルはソース管理下にある必要があります。前にも言及した例外が適用されます。
はバージョン管理下に置くの問題です.... インポートし、プロジェクトを開くとIProject.open(...)は中ファイルに触れるに呼び出されたときに、Eclipseはを主張します.settingsフォルダ...これは、IProjectオブジェクトにチームプロバイダを登録する前です。つまり、validateEdit にはが実行されず、ポップアップで「はい」または「いいえ」をクリックしても「書き込み可能にしますか?」と尋ねると迷惑なエラーが発生します。これは楽観的なファイルロックプロバイダにとってはうまくいっていますが、「悲観的な」ものではそれほど素晴らしいものではありません。私たちのために、これはちょうどもう1つの日食の迷惑でした。
もし私にとっては、はありません。私はこれらをソース管理に入れました。
答えは「はい」です。ここでは、その動機付けと適切な方法を見つけます。watch the talk「IDEメタファイルをコミットする:誤解、誤解、および解決策」対応するslidesをEclipseCon Europe 2015からAurélienPupier @apupier(シニアソフトウェアエンジニア、Eclipseスペシャリスト)まで見ることができます。
"リンクは素晴らしいですが、答えの中で唯一の情報ではありません。" https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answersを参照してください。 –
未使用のローカル、プライベートメンバー、未使用のインポートされたクラス、または未処理のnullを報告するかどうかなど、プロジェクトのコード準拠レベルとコンパイラエラー/警告の設定を制御します。スタイルの書式設定ではなく、そのプロジェクトで作業しているすべての人にとって基本的にコンパイラが検出できる品質をどれくらい厳格に設定するかについてです。編集:このファイルは、プロジェクトのプロパティページでワークスペースのデフォルトを上書きすることを選択したためにのみ存在します。編集:ファセットを使用していない限り。 – nitind
@nitind - そうだね、思ったように片面ではない。 – kostja
あなたの投稿に誤解があります:IDE固有の設定ではありません。それらはIDE固有のフォーマットであるかもしれませんが、よく知られているクラスパスと同様、必須のプロジェクトコンテンツです。 – Bananeweizen