17
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Eclipse + Maven でソース管理するときの最適解(と思われるもの)

Last updated at Posted at 2016-05-10

EclipseとManven(m2e)を組み合わせた場合の最適解(と思われるもの)が得られたので記録。
知っている人には当たり前のことかもしれないし、試行錯誤の中で見つけた形なので間違いもあるかもしれない。

解決する課題

Maven(m2e)はMavenビルドで自動的に.classpathや.projectを書き換えるので、これらのファイルをどのようにソース管理するのかということについて解決する。

前提

開発環境は次の通り。

  • Eclipse 4.5 Mars.2
  • Maven3 (Eclipse用Maven統合 1.5 + Java8 support for m2e for Eclipse kepler SR2)
  • Subversion 1.7

ソース管理はチーム開発することを前提に考えているが、Mavenやプロジェクトの設定は限定された人(管理者)しか実施しない前提。

というのも、メンバーはオフショア含めて40人規模。スキルはSubversionは使えるけど、Maven? ナニソレ?という人が多数、.NET上がりでEclipseにもあまり慣れていないという理由から。

結論

Mavenによって書き換えられるファイルの変更差分がでないように、svn:ignoreか、無視するソースに登録する。具体的には、次のように設定する。

ただし、Mavenやプロジェクトの設定をする管理者は .project 等をコミットする必要があるので、この限りではない。

ファイル リポジトリ登録 svn:ignore 無視するソース
.project する  しない する(.project)
.classpath しない する  しない
.settings しない する  しない
target しない しない する(target, target/*)
  • svn:ignore : SVNリポジトリに登録するもの。
  • 無視するソース : Eclipse > 設定 > チーム > 無視するソース に登録するもの。()内は登録パターン。

ポイント

.project だけは管理者がリポジトリ登録しておく。これでチェックアウトするだけで管理者の設定した通りの内容で、プロジェクトがMavenビルドできるようになる。
.classpath、.settings はMavenビルドで作られるので基本的にリポジトリ登録しない。
targetは svn:ignore に何故か設定できなかった(グレーアウト)なので「無視するソース」に追加。

補足

.settings 以下にはプロジェクト固有の情報が書かれるため、svn:ignore にしてしまうと困る場合があるかもしれない。自分は自社開発ツールが該当してしまった。
そのような場合は、.project と同様にリポジトリ登録するが、無視するソースに指定すると良さそう。

この辺は、まだ試行錯誤が必要に感じる。良い情報あったら教えて下さい。

以上

17
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?