DoltengとMaven2とSubversionの連携(2)

(時間経過に伴い、現在は以下の手順等が変更・洗練されています。最新の情報はサポートwikiにてご確認下さい。)

さて、そんなわけで手順はどうしたもんでしょうか。

リーダーの準備篇

  1. 開発環境クライアント(Windows実機)のセットアップ
  2. コマンドラインから「mvn eclipse:add-maven-repo -Declipse.workspace=*1
  3. DoltengでChuraプロジェクトを生成する。
  4. pom.xmlを編集する。(編集後のpom.xml
  5. プロジェクトルートに lib-inplace.bat を作成する。(内容は後述)
  6. Eclipseから、作成した lib-inplace.bat を(デフォルトエディタで)開く。(バッチファイルが実行される。)
  7. プロジェクトを更新(F5)
  8. ルートのlibフォルダを、フォルダごと削除
  9. 初期インポート。チーム>プロジェクトの共有>SVN>(略) *2
  10. 下記のsvn:ignoreを設定し、コミット
  11. ======== ここでプロジェクトを削除し、「共同開発者の準備篇」のNo.3に飛ぶ ========
lib-inplace.bat(Windows用。その他環境では適宜翻訳すべし。)

cd %~p0
del /Q src\main\webapp\WEB-INF\lib\*.jar
call mvn eclipse:eclipse war:inplace
pause

maven(pom)で管理されないjarを使用する場合、2行目で削除されないように編集する。

svn:ignore属性に設定するもの
  • ルート(/)に対して
    • .classpath
    • .cvsignore
    • bin
    • lib
    • repo
    • reports
    • target
    • work
  • .settingsに対して
  • src/main/webapp/WEB-INF/classesに対して *4
    • *
  • src/main/webapp/WEB-INF/libに対して(*.jarでも良いのですが、mavenで管理しないjarは構成管理すべきなので、個別指定*5する。)
    • aopalliance-*.jar
    • avalon-framework-*.jar
    • commons-*.jar
    • diigu-*.jar
    • geronimo-*.jar
    • h2-*.jar
    • javassist-*.jar
    • jstl-*.jar
    • junit-*.jar
    • log4j-*.jar
    • logkit-*.jar
    • ognl-*.jar
    • poi-*.jar
    • rhino-*.jar
    • s2-*.jar
    • servlet-api-*.jar
    • teeda-*.jar
    • xercesImpl-*.jar
    • xmlParserAPIs-*.jar
    • xmlunit-*.jar
    • concurrent-*.jar

ところで、Subversionの管理ポリシーって、「svn:ignore指定されているもの以外を、全て管理する」じゃないですか。そうじゃなくて、例えば「svn:control指定されているものだけを管理する」という様なことはできないのかなぁ。

svn:ignoreに関する参考資料
  • .classpath ファイル
  • target フォルダ
  • src/main/webapp/WEB-INF/classes フォルダ
  • src/main/webapp/WEB-INF/lib/*.jar ファイル

インポートしたら一番最初は「mvn eclipse:eclipse」する。

Ouobpo

共同開発者の準備篇

  1. 最初の人と同様に、MavenEclipse+各種プラグイン等のインストールを済ませておく。
  2. コマンドラインから「mvn eclipse:add-maven-repo -Declipse.workspace=*6
  3. svnリポジトリから、プロジェクトをチェックアウト
  4. lib-inplace.batを実行。
  5. プロジェクトを更新(F5)
  6. Tomcatプロジェクト>コンテキスト定義を更新
  7. Tomcatプロジェクト>JSP作業ディレクトリーを作成
  8. いつの間にか、bin, reposというフォルダが生成されることがあるが、削除しても大丈夫。

pom.xmldependencyを変更した時は

  1. maven(pom)で管理されないjarを使用する場合、2行目で削除されないように編集する。
  2. lib-inplace.batを実行。
  3. プロジェクトを更新(F5)
  4. Tomcatプロジェクト>JSP作業ディレクトリーを作成

*1:ex. -Declipse.workspace=D:\develop\workspace

*2:この時、次のステップでsvn:ignoreするファイルはインポートしない。手動判定で面倒ですが…。

*3:.classpath同様、自動生成で毎度毎度変化するファイルなので。

*4:classesは、パッケージエクスプローラからは見えないので、ナビゲーターから設定する。

*5:mavenで解決できるjarを指定する。

*6:ex. -Declipse.workspace=D:\develop\workspace