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/
267 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 11:13:33 ] m2eclipseも使ってみたがあまり好きになれなかったので 専らMaven2 Eclipse Pluginをコマンドで使ってる WTPのパス設定でテスト用ライブラリ等を除外してくれるのが地味に嬉しい
268 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 12:43:36 ] スタンドアローンのアプリとかライブラリの開発だったら m2eclipseは手間かからなくていい。 webアプリになると、sysdeoでもWTPでも ローカルリポジトリがクラスパスに入れるのが難儀で mvn eclipse:eclipse の方が良かった。
269 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 12:51:35 ] 手間ってなによ?
270 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 12:53:17 ] WTP2.0 への対応はいつなんかな。 初回だけ wtpversion=1.5 で作って、 以降、wtp 指定なしでどうにかなるけれども。
271 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 14:20:15 ] m2eclipseはpom.xml更新するたびに いちいちmvn eclipse:eclipseする手間がなくていい という意味。 その代わり編集すると(改行入れるだけでも) リポジトリにつなぎにいってちょっと重たくなる。 設定で切れるんだっけか。
272 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 20:22:11 ] プロジェクトを m2eclipse の管理下には入れないで mvn のフロントエンドとしてのみ使用してる。
273 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 13:00:47 ] m2eclipse Maven2 Additional Mavensier
274 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:51:46 ] maven2で特定のファイルをコピーしたいんだが、どのpluginを使えばいいのか分かりません。 具体的には、pom.xmlと同じディレクトリにある、設定ファイルをtarget直下に配置したいので、やり方を教えてください。
275 名前:デフォルトの名無しさん [2007/09/18(火) 15:37:19 ] m2eclipse 0.11 updated
276 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 11:49:50 ] >>275 WTPがローカルリポジトリをビルドパスとして認識したぞ。やったー。 前だめだったよね?
277 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:18:35 ] うわやっぱだめだー、うまくsrc/main/webappが WTPのサーバにpublishされない。 結局eclipse:eclipseに戻った。
278 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 21:43:10 ] 遷移依存で複数バージョンの xercesImpl/xml-api が引っ張られて来るんですか 新しいバージョンのみをクラスパスに設定するには、どうやれば良いのでしょうか?
279 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 21:56:34 ] dependncyのexcludeで指定. とはいえ、それぞれがそれぞれの事情で持ってきているわけだから、組み合わせを変えるほうがいいんじゃね?
280 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:42:22 ] 回答ありがとうございました。 codehaus の jaxb2-maven-plugin と spring-xom の期待するバージョンが衝突してるっぽいんですが どっちも使いたいんで、組み合わせは崩さず、 しばらくこれでやってみる事にします。
281 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 08:46:28 ] Maven使ってみて感じたのだが、 apache系ライブラリのdependencyの指定かなり適当じゃね? testやprividedの指定とか全然してないところが多い気がする
282 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 22:29:37 ] 適当っていっても、最終的にはドキュメント確認するべきだろう Mavenで自動的に入ってくれるのは便利だけど頼りすぎちゃダメかと 時にpluginのexecutions の指定がどうもうまくいかない phaseにpackageと指定しているにも関わらず最初に起動しようとする この辺解説したページってないかね?
283 名前:デフォルトの名無しさん [2007/09/27(木) 23:08:52 ] >>282 そのプラグインは何かね
284 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:07:34 ] >>282 assembly:assembly あと、適当に作った自作プラグインも同じだったが・・・
285 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:08:04 ] >>283 だ、すまん
286 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 15:32:10 ] 例えば log4j の 1.2.15 なんかだと jms や jmxri なんかは provided にして、 log4j を使用するアプリが JMSAppender 使いたかったら runtime なり test なりで追加するってのが本来の形であってます?
287 名前:デフォルトの名無しさん [2007/09/29(土) 04:03:01 ] >>284 同じくassemblyプラグイン使っててphaseにpackage指定してるけど 不自然な動作はしてないな。 package、install、deployの実行時、テストの後に動作する。
288 名前:284 mailto:sage [2007/09/29(土) 08:05:33 ] 解決 >>287 どうもmulti-modulesであったことが原因。 Aの下にBとCというmoduleがあるとして、Aのpluginとして登録したわけ。 つまり、BとCのjarをzipにまとめて、という感じ。 ところが、pluginの指定は子moduleに継承(?)される設計になっている だから子moduleのBとCが実行される段階で意図していないAに設定されたpluginが発動…というのが原因 尚、<execute>の<phese>に指定せず、手動でやればOK。
289 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 21:52:04 ] >>282 >適当っていっても、最終的にはドキュメント確認するべきだろう >Mavenで自動的に入ってくれるのは便利だけど頼りすぎちゃダメかと それじゃ、他の言語のライブラリ管理ツールに比べて不便すぎない? Mavenがそれだけの為のツールじゃないことは承知だが、 せっかくこれだけMavenリポジトリの資産が増えたのだから、もう少し使い易くなるように 登録ライブラリ側も、もっと依存ライブラリの指定に気を使って欲しい >>286 それが本来の形だけど、全部デフォルトで指定しちゃってるライブラリが多すぎるんだよね
290 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:48:39 ] >>289 そう思うならば2chでウダウダ言ってないでコミッタになれよ
291 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 23:57:53 ] >>290 それ逝っちゃ駄目だろw
292 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 00:06:25 ] >>291 いや、そういうことだろw
293 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 14:26:36 ] > 他の言語のライブラリ管理ツールに比べて不便すぎない? 具体例を教えて欲しいのだが。 中央集権でガチに管理しない限り どっちみちこの手の問題は起きるのでは。
294 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:54:44 ] >>293 いやあなたのいうとおりなんだけど、個人的には>>289 に同意だな 依存ライブラリの指定がいい加減すぎるのはホントなんとかしてほしい
295 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 11:28:02 ] 行儀よくリポジトリに登録するための詳しいドキュメントってどこにあるの?
296 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 19:11:43 ] >>293 だが。 他のって書いてあったから、他にあるなら調べてみたいと思っただけで 別に他意はないんだ。気を悪くしたなら申し訳ない。 登録側がちょっと気を配ってくれたら、利用側ウハウハやのになあ。ほんんとうに。
297 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 19:22:07 ] つか、依存関係でグダグダとなった経験ないんだが、 例えばどんな組み合わせで問題が起きるんだ?
298 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 19:49:31 ] 280 は俺の書き込みだけど jaxb2-maven-plugin を使って、XML Schema → Java クラスの自動生成をした。 そのクラスを使うサービスを作成した(ロジックから下のみ)。 そのサービスロジックを WebService にした。(spring-ws を使用) war をデプロイしたところ xalan がそんなメソッドはねえと言う。 WEB-INF/lib を眺めたら xercesImpl が複数存在していた。 こんな感じ。 (なお、プラグインを新しくしたら解消された。) 大抵のライブラリは上位互換保つけど、そうじゃないライブラリを 推移的依存で複数引っ張ってきたら楽しいことになると思う。
299 名前:デフォルトの名無しさん [2007/10/10(水) 18:51:06 ] 質問が3つあります。 ○1. iBatis の最新の jar (2.3.系)を自分のローカルリポジトリに追加したいのですが、 ibatis.apache.org から ibatis の jar を落っことしてきて、mvn install:install-file で手動で追加するしかないのでしょうか? www.ibiblio.org/maven/com.ibatis/jars/ をブラウザで直接見ると、2年前の 2.1 までしかおいてない。 people.apache.org/repo/ 以下を、ブラウザでずっとあさってみても、iBatis がおいてない。 ○2. SpringFramework 2系も同様で、 これも www.springframework.org から jar を落として直接追加でしょうか? www.ibiblio.org/maven/org.springframework/jars/ を直接ブラウザで見ると、Spring 1.x の jar しかない。 ○3 自分の使い方がわかってないだけかもしれませんが、自分の場合、プロジェクトにライブラリの jar を追加する場合、 まず希望するライブラリ、バージョンの jar が maven リポジトリに登録されているかどうか確認します。 そのときに、上記の ibiblio.org や people.apache.org/repo/ 以下をブラウザで直接漁っているのですが、 ほかにここもみておけというところはありますか? というかみなさんどうしているのでしょうか?
300 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 19:13:00 ] mvnrepository.com/
301 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:17:05 ] 最初に見に行くべき場所がそもそも違うんじゃなかろうか。 セントラルレポジトリは repo1.maven.org/maven2/ っすよ。 repo1.maven.org/maven2/org/apache/ibatis/ibatis-sqlmap/2.3.0/ ibatis 使ってないから分からないけど、これ? com.ibatis/ibatis2-* から org.apache.ibatis/iabatis-* に変わってる模様。 最近はセントラルレポジトリの更新でほぼ満足できるのでは。 spring も最新の 2.0.7 が置いてあるし。 (repo1.maven.org/maven2/org/springframework/spring/2.0.7/ )
302 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:28:02 ] 追記 >みなさんどうしているのでしょうか? 1. セントラルレポジトリを徘徊する。 2. プロジェクトで言及してないかを確認する。 3. Maven で管理してるプロジェクトで、目的のライブラリを使ってないか期待する。 (spring のソース落としてきて、pom.xml に grep かけるとか。) 4. 諦めて install:install-file する。 実際には 1. でダメだったら 4. で良いと思われ。 2., 3. の方法だと pom.xml のメンテナンスが面倒になるし。 (4. ならプロジェクトでこうするって決めてしまえば終了。)
303 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:07:08 ] ローカルサーバにリポジトリ立てる作業は、ほぼ必須と思われ
304 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 16:18:45 ] みなさんレスどうもありがとうございます。 だいたい状況がわかってきました。 >>301 > セントラルレポジトリは repo1.maven.org/maven2/ っすよ。 ああ、そうでした! 以前の自分の日記見たら、このURLメモってた。 今後はここをまず見に行くことにします。たしかにメジャーなものはそろってますね。 maven もデフォルトでここを見に行くはずですから、昨日作業していたときは、 spring-ibatis 2.0.6 の jar は取って来れていたのを思い出した。 今回の spring と ibatis ですが、以下の顛末でした。 ・今回必要なのは spring 2.0.6。自分のプロジェクトの pom.xml の dependency に spring-ibatis 2.0.6 と書いておいたら、spring 関係は何もせずに ダウンロードされたが、ibatis の 2.3.0 が依存していて、それが見つけられなかったよう。 ・repo1.maven.org/maven2/org/springframework/spring-ibatis/2.0.6/spring-ibatis-2.0.6.pom をみると、 com.ibatis/ibatis2 という名前で依存していたが、 >>301 のように ibatis の名前が変わっていて、 セントラルリポジトリにはこの名前では登録されていないため(org.apache.ibatis/ に変わっていたため)みつからなかった。 そのため、自分で ibatis の jar を落っことしてきて、ローカルリポジトリに com.ibatis/ibatis2 で 登録したところ、pom.xml は修正せずにビルドできた。 ・ちなみに spring-ibatis 2.0.7 をみると、 repo1.maven.org/maven2/org/springframework/spring-ibatis/2.0.7/spring-ibatis-2.0.7.pom org.apache.ibatis/ibatis という名前で依存しているので、自分の pom.xml で 2.0.7 と書いていたら、 何事もなくスルっとうまく行っていたと思います。
305 名前:299 mailto:sage [2007/10/11(木) 16:47:18 ] (名前書き忘れてしまいましたが、>>304 も自分です) >>302-303 みなさんもやはりリポジトリは徘徊するのですね。今後、1.と4.でやってみます。 2.は、apache の incubator 系とか codehaus とかがそうですね。 で、プロジェクト全員が install:install-file するのも大変なので、チーム内では >>303 のようにローカルリポジトリサーバを立てる(そのかわりメンバーは、なるべく自分勝手にダウンロードしてこない) ここは自分のチームでもやっていますが、maven でチーム開発するには必須のノウハウということですね。 自分のあやふやなところが整理できました。どうもありがとうございました。 >>300 すげー!! いろいろそろってますね! ここ自身ではリポジトリを持っているわけではなく、ここで検索したり情報を見て、 最後にリポジトリへリンクするという使い方かな。
306 名前:デフォルトの名無しさん [2007/10/18(木) 16:59:25 ] ant では、-emacs オプションがあったり -find build.xml で、build.xml を見つけるまで 上のディレクトリに登って探してくれるけど、mvn にはそういうオプションはないのでしょうか? mvn -f しても、pom.xml 以外のファイル名を指定することはできましたが、ディレクトリは上ってくれませんでした。
307 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 07:12:37 ] 勝手に意図しないpomを実行されても困るんだが・・・
308 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 03:59:24 ] -find build.xml はいいのか。
309 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 10:59:13 ] 勝手に意図しない build.xml を実行されても困るだろ
310 名前:デフォルトの名無しさん [2007/10/28(日) 09:32:58 ] すみません。 1.maven2で jarファイルを作成する際にソースコードを含めることはできますでしょうか? maven-source-plugin を使って ソースコードのみの jarファイルは作成出来たのですが… 2.もしくはmaven-souce-pluginで作成した xxx-1.0.1-sources.jar を war:inplaceなどで取り込む方法はあるのでしょうか? dependencyタグ内で <version>1.0.1-sources</version> なんて書いても駄目でした >< 知っている方いらっしゃいましたら、教えてください よろしくお願いします。
311 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 09:40:58 ] >>310 自分の知っている方法だと、assemblyプラグインを使う方法。 これを使えばzipだろうとwarだろうと、好きな形でパッケージングできる。 大雑把な手順としては、 1. コンパイルする(jar等を作成) 2. 必要なファイルを作業ディレクトリにコピー 3. assemblyプラグインでzipを作成 他にも方法はあるかもしれないけど、原始的な方法はこんな感じだと。
312 名前:310 [2007/10/28(日) 16:33:54 ] >>311 ありがとうございます>< 早速試してみます!!!
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ファイルを見てくれる。 やってみれば早いよ。
321 名前:316 mailto:sage [2007/11/03(土) 00:26:27 ] レスだけ >317 テキストエディタじゃ開発してないからIDEの設定にあわせる どうしてもテキストエディタで開発しなくてはならないならば、MavenかAntでデプロイを行うかな もしくはTomcatのフォルダをJSP直接編集すると思う。 どちらにせよ、今のご時世でテキストエディタで開発しなきゃいけない事をどうにかするなぁ。 IDE嫌いって人もいるけどほとんどの人はIDEの方が効率上がるわけで、あわせるべきだと思うし
322 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:22:02 ] IDEは当然Maven使わない前提で作られてるからな。 当たり前だけど。
323 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 05:06:49 ] >>321 テキストエディタと言っても>>317 が使ってるのはEmacsだから IDEの方が上とは一概に言えないと思うよ Railsだとエディタによる開発が主流だし、V2C作ってる人もEmacsだし EclipseはMavenとの相性が決していいとは言えないし エディタ+Mavenの組合せも少人数開発ならアリだと思う
324 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 05:14:50 ] エディタでやるなら、 tomcat起動時にクラスパスに target/classesと、ローカルリポジトリの各jarを 指定して、コンテキストルートを src/main/webappにすりゃ WTPと同じ事が出来る、と思う。 jarが多いと大変だ。 なんかwebコンテナを起動する Mavenプラグインあったような記憶があるなあ。
325 名前:321 mailto:sage [2007/11/03(土) 11:00:40 ] 誤解される書き方だった >>323 emacs < IDE って事を言いたかったわけじゃないよ >322も書いているようにMavenはIDE前提な感じもする それにデプロイをどうするかってMavenの問題じゃなくてAntでも同じ問題が発生するじゃん。 emacsは詳しくはないけど、WTPと同じような機能を追加できればそれがベストじゃないかね
326 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 11:37:41 ] jettyプラグイン使えばいいんじゃねーかなー
327 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 11:53:28 ] ずれすぎ。
328 名前:313 mailto:sage [2007/11/05(月) 10:59:50 ] 遅くなりましたがレスどうもありがとうございます。 >>320 WTPだとそんなことができるのですか。 ↓の本を見つけたのでとりあえずぽちって来ました。 時代遅れにならないよう勉強してみます。 www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=978-4-7980-1775-4 >>324 なるほど、私のハイブリッド案と逆のアプローチですね。 とりあえず >>318 で数日やってみていますが、参考にしてみます。
329 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 11:49:45 ] >>328 クラスパスの設定とかコンテキストルートの設定は mvn eclipse:eclipseで全部やってくれるから この事に関してはWTPの本を読んでも あまり役に立たないと思うけどなあ。 あまり勉強しなくてもすぐ始められるよ。
330 名前:デフォルトの名無しさん [2007/11/08(木) 00:31:00 ] JUnit4はまだ使えないの?
331 名前:デフォルトの名無しさん [2007/11/09(金) 15:31:57 ] JUnit4はEclipseで使えるからおれはいいやと思っている。 Mavenでやる必要性は低いのでは。 どうしてもやりたければMavenのプラグインでも探すか作るかするしかないのではと
332 名前:デフォルトの名無しさん [2007/11/09(金) 15:33:01 ] >>322 名前:デフォルトの名無しさん :2007/11/03(土) 03:22:02 IDEは当然Maven使わない前提で作られてるからな。 当たり前だけど。
333 名前:デフォルトの名無しさん [2007/11/11(日) 01:09:35 ] それこぴぺしてどうすんだ
334 名前:HemlockDKiller=HORSEFUCKER!! [2007/11/12(月) 06:55:55 ] HemlockDKiller=HORSEFUCKER!! Hi! I am Horsefucker! I am stupid Korean. I live in Tokushima in Japan. I love YMO. I love YOUTUBE I am foolish, unfair, and a coward. Please Fuck me!
335 名前:デフォルトの名無しさん [2007/11/12(月) 21:50:02 ] >>331 それじゃMaven使うウマミが無いだろ。
336 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:42:33 ] Mavenを採用する理由って何? Antがボトムアップアプローチで、Mavenがトップダウンアプローチ ってのは聞くんだけど、それじゃAntから乗り換えるのにピンと来ない。
337 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:22:52 ] 依存してるライブラリを自動的にネットから落としてくる>Maven
338 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:08:28 ] ディレクトリ構成が標準化されてる build.xml書かなくて良い
339 名前:299、313 mailto:sage [2007/11/13(火) 01:20:05 ] >>336 私の場合、Maven を使うときはトップダウンというか as is (あるべき姿)を先に描いてから、 Maven がどんなディレクトリ構成になるか、どんなプラグインが走ることでビルドされるかを おっかけて、ant か maven かを選定するので、一度トップに行ってから結局ボトムアップになっている気がする。 Oracle で DB つくるとき、GUIツールで設定するけど、最後に「実行」を押さずにスクリプトを吐かせて、 結局は sqlplus でコマンドラインでやる、見たいな。 ただ、何事も内部で何が起こっているかを把握するのは大事なので、こういう手順になっているのは悪いことではないと思っている。 > それじゃAntから乗り換えるのにピンと来ない。 >337-338 の言っている事は、なれると便利。 いまは dependency を書いて jar 勝手に取ってこさせているし (dependency を書くまで、maven リポジトリの中を漁ってほしいjarがあるかどうか調べるのは必須だけど)、 maven を使っているプロジェクト、OSS は必然的にディレクトリ構成が決まるから、ソースを追いかけるときはわかりやすい。 あとweb アプリぐらいだと ant も maven も変わらないけど、 一部のOSS プロダクトは、一緒にリリースしている maven プラグインを使うことでビルドプロセスを簡略化(隠蔽化)している場合がある。 アノテーションが付与された *.java からコンテナが見る xml を自動生成したり、 xml を開発者が書くと、必要なプロキシーオブジェクトを自動生成したり。 そういうOSSを使うときは maven プラグインは便利だし、むしろそれを使わないとビルドできない場合がある。 ant か maven かの区分けは、こういった OSS を使うかどうかもひとつではないでしょうか。
340 名前:299、313 mailto:sage [2007/11/13(火) 21:49:44 ] Struts 1.3.8 を使ったプログラムを作っていて、pom.xml の dependency を以下のように書いていました。 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts-core</artifactId> <version>1.3.8</version> </dependency> Spring も使いたくなったので dependency に以下を足したのですが、 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>2.0.7</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-struts</artifactId> <version>2.0.7</version> </dependency> この状態で mvn package すると、target/{アプリ名}/WEB-INF/lib に struts-1.2.9.jar も含まれてしまいます。 確かに↓をみると、struts/struts-1.2.9.jar に依存しているのですが、 repo1.maven.org/maven2/org/springframework/spring-struts/2.0.7/spring-struts-2.0.7.pom 同じプログラム内に異なるバージョンの struts の jar を含めたくはありません。 こういうときはどうすればいいでしょうか?
341 名前:299、313 mailto:sage [2007/11/13(火) 21:50:04 ] すみません、>>340 の続きです。 repo1.maven.org/maven2/ を漁ると ただの spring というのもあって、こちらは 依存する jar(struts から hibernate から ibatis から関連するものすべて)がすべて dependency に書かれているのだけど、 repo1.maven.org/maven2/org/springframework/spring/2.0.7/spring-2.0.7.pom ほとんどが <optional>true</optional>になっていて、 これを pom.xml に指定して mvn すると、true になっているものは package に含まれないようです。 spring はこれを使って、spring 本体が依存する aopalliance-1.0.jar などは 自分の pom.xml に書いて、自分自身で必要なものをとってくるしかないのかな。
342 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 22:51:34 ] >>340 >279 流れるほど多いログじゃないんだ、検索くらい汁
343 名前:299、313 mailto:sage [2007/11/15(木) 22:19:45 ] >>342 レスどうもありがとうございます。 下のようにやってうまく行きました。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-struts</artifactId> <version>2.0.7</version> <exclusions> <exclusion> <groupId>struts</groupId> <artifactId>struts</artifactId> </exclusion> </exclusions> </dependency> ちゃんと検索するようにします。
344 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 13:10:22 ] [INFO] artifact org.apache.maven.plugins:maven-clean-plugin: checking for update s from central [WARNING] repository metadata for: 'artifact org.apache.maven.plugins:maven-clea n-plugin' could not be retrieved from repository: central due to an error: Error transferring file [INFO] Repository 'central' will be blacklisted なんだって?
345 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:10:31 ] プラグインの実行に関して、 <execution> <phase>install</phase> </execution> で、特定のフェーズで実行できますが、 特定のプロファイルの際に実行といった指定はできないでしょうか? 具体的には、リリースプロファイルの際にwarを作成する途中で assembly:assemblyを実行したいのですが。
346 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 07:07:41 ] dependency内で同じClass名のclassがあった場合に、 どっちを優先させるかというのは指定出きるのでしょうか? OSSのモジュールではないのですが、パッチとして提供されているモジュールがあって、 本体.jar パッチ.jar みたいに提供されており、必ずパッチ.jar内のClassを優先させる必要があるのです。
347 名前:デフォルトの名無しさん [2007/11/27(火) 18:34:05 ] 保守
348 名前:デフォルトの名無しさん [2007/11/28(水) 11:26:33 ] rmiregistryを起動するpluginとか無いですか?
349 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:42:15 ] jetty の plug-in 使って その中で起動出来そうな気がする。
350 名前:デフォルトの名無しさん [2007/12/05(水) 23:22:21 ] 自分用のarchetypeを作っているのですが Facelets用のxhtmlで$〜を使っていて Create時にVelocityが置換しようとしてしっぱいします。 特定のファイルは置換しない等の設定はどうすればいいのでしょうか?
351 名前:デフォルトの名無しさん [2007/12/20(木) 15:18:07 ] JUnit4使うとどうもおかしくなるなあ
352 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 20:23:25 ] JNIのDLLをartifactにしたいんだけど、どうすればいいの?
353 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 09:58:56 ] た、種種・・・
354 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 11:17:17 ] native プラグインが多分それっぽい。 mojo.codehaus.org/maven-native/native-maven-plugin/examples/jni-dll.html 全く試したことないのでこれで要件満たすかは不明。(αだし。) 使ってみた感想などここで晒すよろし。 Maven は使ってるユーザーがまだまばらで なかなか情報が集まらん。
355 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:37:31 ] Maven2でJUnit4を導入する手順について blog.goo.ne.jp/ikkoan/e/bebcc0dec9f77a7a3ac364ff29627218 のとおりにやってるんだけど mvn installが何度やってもうまくいかない。どして? svn.apache.org/repos/asf/maven/surefire/trunk ディレクトリを EclipseのSubclipseプラグインでMaven-surefireという名前の新規Eclipseプロジェクトにチェックアウト して、プロジェクトをSuversionで「更新」してからコマンドプロンプトで実行すると、 C:\Documents and Settings\???\workspaceTest4\Maven-surefire>mvn install [INFO] Scanning for projects... Downloading: repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven -parent-7.pom [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: org.apache.maven.surefire:surefire:pom:2.4.1-SNAPSHOT Reason: Cannot find parent: org.apache.maven:maven-parent for project: org.apach e.maven.surefire:surefire:pom:2.4.1-SNAPSHOT for project org.apache.maven.surefi re:surefire:pom:2.4.1-SNAPSHOT 親プロジェクトが見つからないといわれても困る。 環境はMaven2.0.8、Java 6 Update 4。 (プロキシがないと外部にアクセスできない大学で実行中。SuversionもMavenもプロキシ経由で、Subversionのはserverファイル、Mavenはsetings.xmlファイルにプロキシサーバを設定している。) このディレクトリのサブディレクトリ C:\Documents and Settings\???\workspaceTest4\Maven-surefire\maven-surefire-plugin ディレクトリでmvn installを実行しても同じメッセージが出る。
356 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 05:50:35 ] つーかわざわざビルドせんでも、いまの maven なら JUnit4 対応してないか??
357 名前:355 [2008/02/02(土) 00:14:49 ] え? マジ? ホント? リリースノート見てないので知らなかった。 >>355 の近況 結局うまくいったので自己レスします。 結果的に、自宅にノートPC持ち帰ってからmvn installを再度実行すると、 ダウンロードできなかったものがダウンロードされてどうやらうまくいったようです。 途中、build failedなメッセージが出た(ような気がする)。テストに失敗しているらしい。 そこで、テストを無視するオプションを選んでサイドmvn installを実行して 今度こそうまくいった。これでJUnit4が使えるようになった。 Eclipseでもm2ecipseプラグインによってMaven2経由でJUnit4が使えるようになった。 ありがとう!
358 名前:デフォルトの名無しさん [2008/02/02(土) 13:50:24 ] maven つーか、いまの surefire プラグインね。 maven.apache.org/plugins/maven-surefire-plugin/usage.html によると Tests in your test source directory can be any combination of the following: * TestNG * JUnit (3.8 or 4.x) * POJO だから対応してることになってるね。
359 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:29:00 ] The Maven Archiva team is pleased to announce the release of Archiva 1.0.1 Archiva is a build artifact repository manager for use with build tools such as Maven, Continuum and Ant. It has features like repository search and browse, securing repositories, identifying unknown artifacts and reporting of repository problems. Aside from these, it can also act as a nearby (proxy) cache of popular global repositories. maven.apache.org/archiva で、何やるためのものかよくわからんですが、 自分で maven リポジトリを作ったときに、 mvnrepository.com/ こういうサイトを つくれるよということかな?
360 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 11:32:50 ] [infoQ] Debate: Is Maven the right tool for builds? www.infoq.com/news/2008/01/maven-debate
361 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:52:20 ] >>359 1.0でたときにちょっと使ってみたんだけど、 proxyのように動いてリポジトリをキャッシュしてくれる。
362 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:46:19 ] >>361 artifactoryみたいなもの?
363 名前:デフォルトの名無しさん [2008/02/07(木) 02:50:52 ] そうだね。 www.devzuz.org/blogs/oching/2007/11/05/1194233400000.html に比較がある。
364 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 06:44:27 ] 格納するリポジトリってどうしてる? プロジェクト単位で建ててる?会社として運営してる?ビルドマシンのローカルだけ?
365 名前:デフォルトの名無しさん [2008/03/29(土) 07:21:46 ] Maven・・・いろいろ触ってみたがMavenがプロジェクト開発の現場で どう効力を発揮するのかいまいち理解できない。 謳われているほとんどの機能は別のプロジェクトで代替可能だし Ant使っちまえばそれで終了だろ?と言わなくもない。 するってーと使えるのはCheckStyleだけか。 だれか開発現場で使いまくり!って人いないの?
366 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 08:16:30 ] 使いまくりです。 依存jar管理が楽なのがでかいです。 特に依存jarの依存jarの管理が楽。
367 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 13:51:13 ] >>364 今versionあげれなくてあれだけど、プラグイン直ったの? 俺がインスコしたのはDefault以外設定しても無視されてたからローカルにおいてる。 >>365 .classpathを管理対象にしなくていいのがいい。 ちょっと色々やろうとするとアレだけどね。