- 1 名前:デフォルトの名無しさん [2005/11/14(月) 23:03:08 ]
- ついにMaven2.0が出た。Apache Antよりも
楽に種種のプロジェクトを管理できるツールMaven2.0 PerlのCPANのように必要なライブラリを自動でダウンロード/アップデートして くれる。 checkstyleやプロジェクトサイト、JAR生成からサーバへのデプロイなど 様々なタイプのドキュメント、テストレポート、アーカイブを自動生成もできる。 CVS, Subversion(用プラグイン)への接続も可能。 プラグインで拡張することも可能。EclipseなどのIDEと連携することも可能。 プロジェクト管理ツール・メイヴィン (英語) maven.apache.org/ Maven 日本語サイト(やや古い) www.ingrid.org/jajakarta/turbine/jp/turbine/maven/ “一人前”になったApacheのMavenプロジェクト www.itmedia.co.jp/news/articles/0407/16/news057.html プロジェクト管理: Mavenでもっと簡単に www-6.ibm.com/jp/developerworks/java/030613/j_j-maven.html Mavenを使った開発 www.02.246.ne.jp/~torutk/maven/ Mavenについてのメモ terai.s55.xrea.com/Maven.html Maven sakito.s2.xrea.com/moin/moin.cgi/Maven Mavenメモ muimi.com/j/apache/maven/ プロジェクト: Mavenプラグイン maven-plugins.sourceforge.jp/ Mavenではじめるプロジェクトドライブ www.objectclub.jp/technicaldoc/tools/maven/maven_top/ Eclipse Mavenプラグイン mevenide.codehaus.org/mevenide-ui-eclipse/ 【玄人】我が名はプロジェクトマネージャーMaven@プログラマー pc8.2ch.net/test/read.cgi/prog/1090129578/
- 313 名前:デフォルトの名無しさん [2007/11/01(木) 21:59:29 ]
- mvn archetype:create -DartifactId=mysample \
-DarchetypeArtifactId=maven-archetype-webapp で web アプリのディレクトリの雛形を作り、web アプリを作っています。 質問(疑問)があります。 jsp を少し書き換えるたび、mvn package して target 以下に修正後の jsp をコピーしてから ブラウザをリロードして確認していますが、こういうものなの? {mysample} │pom.xml ├src │└main │ ├java │ ├resources │ └webapp │ │index.jsp ←エディタでいじるのはコレ │ └WEB-INF │ web.xml ↑ここまでCVS管理対象 └target ↓ここから管理対象外(mvn cleanすると消える) ├classes └mysample ←tomcatには <context> でこのディレクトリを見せている │index.jsp ←tomcatが見ているのはコレ ├META-INF └WEB-INF │ web.xml :
- 314 名前:313 mailto:sage [2007/11/01(木) 22:00:54 ]
- (↑のつづき)
*.java を修正したときはコンパイルするため mvn しなければいけないのはわかりますが、 jsp をいじるたびに mvn するのは面倒です。 ant のときは以下のようなディレクトリ構成にしていて、jsp を修正してもantすることなく ブラウザをリロードしていました。 {mysample} │build.xml ├src │├jp.co.... ││ *.java └mysample ←tomcatには <context> でこのディレクトリを見せている │index.jsp ←エディタでいじるのもtomcatが見ているのもコレ └WEB-INF │ web.xml ↑ここまでCVS管理対象 └classes ↓ここから管理対象外(ant cleanすると消える) 私の使い方が悪いのでしょうか(みなさんはどうやっているのですか?)
- 315 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:08:52 ]
- pom.xmlにeclipseプラグインの設定書いて
mvn eclipse:eclipseしてWTPでやってる。
- 316 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:24:47 ]
- >>313
良く解らないんだが、開発環境はテキストエディタなのか? もし、そうであるならば、毎回mvnも仕方ない気もする 実際には開発はEclipse等のIDEを使用する場合が多い なんで、target以下はぶっちゃけ無視する コンパイル場所は合わせておいてもいいかな、程度。 target以下はあくまでデプロイとかを行う時にだけ使う デイリービルドとかやっているならば、サーバーでは使うけど各開発マシンじゃ使わなくて問題なしということ
- 317 名前:313 mailto:sage [2007/11/02(金) 16:22:46 ]
- レスどうもありがとうございます。
テキストエディタ(Emacs) + コマンドラインでやっています。 その場合は、やはり mvn しないといけないということですね。わかりました。 Eclipse は 3.1.x のころまでは Tomcatプラグインのころに使ったり、 いまでも開発というよりはリモートデバッグでソースを追いかけるときに使うぐらいで、 WTP は使ったことがないのですが、 > mvn eclipse:eclipseしてWTPでやってる。 > 実際には開発はEclipse等のIDEを使用する場合が多い > なんで、target以下はぶっちゃけ無視する Eclipse を使っていようといまいと、Tomcat は target 以下をみていると思うのですが、 WTPとかで↑のようなことができるのですか? > コンパイル場所は合わせておいてもいいかな、程度。 > target以下はあくまでデプロイとかを行う時にだけ使う デプロイせずにローカルでTomcatを動かして開発している場合、>>316 さんは jsp をどこに配置しているのですか(Tomcatにはどこを見せているのですか?)
- 318 名前:313 mailto:sage [2007/11/02(金) 16:45:38 ]
- 書いていて >>313-314 のハイブリッド案を思いついた。
{mysample} │pom.xml │build.xml ├src │└main │ ├java │ ├resources │ └webapp ←★Tomcatにはここ以下を<context>で見せる │ │index.jsp ←エディタでいじるのはコレ │ └WEB-INF │ │ web.xml ↑ここまでCVS管理対象 | ├ lib ←libは mvn dependency:copy-dependencies で吐かせたものを突っ込んでおく │ └classes ↓ここから管理対象外 | ★build.xml でのコンパイル先やEclipseの *.javaのコンパイル先はここにする。 | ant clean するとここ以下を消す。 └target ├classes └mysample │index.jsp ├META-INF └WEB-INF │ web.xml :
- 319 名前:313 mailto:sage [2007/11/02(金) 16:47:10 ]
- (↑のつつき 連投すみません)
こうすれば CVS などで管理するソースツリーは変える必要はないし、 target以下は無視できる。デプロイするときだけ、mvn package で target 以下に作成される warを持っていけばいいか。 Apache ServiceMix などは専用の maven プラグインを使って xml から ESB プログラムを自動生成させる ビルドプロセスになっているので maven は必須です(専用プラグインのなかでビルドプロセスを隠蔽している) しかし web アプリぐらいのようにビルドプロセスに特別な maven プラグインが必要ない場合は、 maven はリリース担当ぐらいが使えばよくて、チームには maven を持ち込まなくてもいい気がしてきた。 ソースツリーは maven 形式にしておいたままでいいけど
- 320 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 17:07:07 ]
- >>317
> > mvn eclipse:eclipseしてWTPでやってる。 > Eclipse を使っていようといまいと、Tomcat は target 以下をみていると思うのですが、 > WTPとかで↑のようなことができるのですか? WTPだとtomcatはsrc/main/webappsをルートとして見る。 だからHTMLやJSPは直し放題。 classesはどうなってんのかというと、クラスパスとして target/classesが登録される。 webapps/WEB-INFの下に作る必要がない。 で、Eclipse上でのビルド先がtarget/classesになってるので ちゃんと最新の状態のclassファイルを見てくれる。 やってみれば早いよ。
|

|