雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
私がJavaを嫌いになった理由のひとつに、「ライブラリ管理が大変」であることがあげられます。たとえば、とある簡単なアプリケーションの中でJSONデータを扱いたくなったので、JSON-libをインストールすることにしましょう。
するとこれだけのdepandency(依存ライブラリ)が必要になります。
http://json-lib.sourceforge.net/
http://json-lib.sourceforge.net/dependencies.html
これを全部手で落として来い、と?あなたユーザを舐めてますね?
大規模なプロジェクトであればmaven2というプロジェクト&ライブラリ管理の決定版ツールがあるので、そちらに任せておけば全く問題が無いのですが、10クラス以内で収まるような軽量なプロジェクトのためにmavenの設定をしていたら、pom.xmlを書いている時間のほうが長くなってしまいそうです。要するに、ロクに使えません。
私としては、RubyのGemみたいに、
Raven
こんなものを発見しました!
なんとRuby Gem + RakeでJavaのプロジェクトの管理が出来るんだそうです。まさに欲しかったものはこれ。
早速インストールしてみました。
問題は、私Ruby初めてなんです。putsしかコマンド分かりません。
まぁスクリプト言語なんて何とかなるでしょ!
RubyGems の使い方 - WebOS Goodies
インストールしたら、まずはGemをプロキシの裏から通せるようにします。
プロキシ越しにGEM - 初心者Ruby頑張る。
要するに環境変数http_proxyを作るだけです。環境変数を使わなくちゃいけないのが少々気持ち悪いですが(同様の理由でJAVA_HOMEもあまり好きではありません)我慢。
あとはraven installコマンドを使うだけです。
ravenスクリプトの内部を覗いて調査してみましょう。
ほどなくしてraven.rbの130行目が怪しいことに気づきました。
・・・て、あれ?2.2?
今の最新は2.3だろ?
嫌な予感がします。
要するに、去年かおととしぐらいからravenのリポジトリ情報が最新化されていないみたいなんです。
おかげさまで新しいライブラリが全く使えません。
しかもこのravenマイナーなプロジェクトですから、ほかにリポジトリ情報がある場所もわからず・・・
と言うわけで結論。Ravenはいいシステムなんですが、メンテされてないです。使えません・・・
今度は
Apache Ivy, the agile dependency manager
こんなのを試してみようと思います。
するとこれだけのdepandency(依存ライブラリ)が必要になります。
http://json-lib.sourceforge.net/
http://json-lib.sourceforge.net/dependencies.html
これを全部手で落として来い、と?あなたユーザを舐めてますね?
大規模なプロジェクトであればmaven2というプロジェクト&ライブラリ管理の決定版ツールがあるので、そちらに任せておけば全く問題が無いのですが、10クラス以内で収まるような軽量なプロジェクトのためにmavenの設定をしていたら、pom.xmlを書いている時間のほうが長くなってしまいそうです。要するに、ロクに使えません。
私としては、RubyのGemみたいに、
gem install json-lib 1.5ってタイプするだけで依存ライブラリ含めてすべてのライブラリがダウンロードできるような仕組みが欲しいんです。ただのそれだけでよいのですが・・・とか思いながらいろいろと調べていた結果、
Raven
こんなものを発見しました!
なんとRuby Gem + RakeでJavaのプロジェクトの管理が出来るんだそうです。まさに欲しかったものはこれ。
早速インストールしてみました。
問題は、私Ruby初めてなんです。putsしかコマンド分かりません。
まぁスクリプト言語なんて何とかなるでしょ!
RubyGems の使い方 - WebOS Goodies
インストールしたら、まずはGemをプロキシの裏から通せるようにします。
プロキシ越しにGEM - 初心者Ruby頑張る。
要するに環境変数http_proxyを作るだけです。環境変数を使わなくちゃいけないのが少々気持ち悪いですが(同様の理由でJAVA_HOMEもあまり好きではありません)我慢。
あとはraven installコマンドを使うだけです。
raven install --proxy http://this.is.proxy.com:1111 commons-langこれでcommons-langの最新バージョンが落ちてくるはずなのですが・・・なぜかプロキシのURLを認識してくれません。
ravenスクリプトの内部を覗いて調査してみましょう。
gem contents ravenこれでインストールされているravenのコンポーネントが全部見れますから、あとはスクリプトの中をテキストエディタで覗くだけです。スクリプト言語の魅力はこのデバッグ性のよさというか、改変し放題なところですね。問題解決が簡単です。
ほどなくしてraven.rbの130行目が怪しいことに気づきました。
def self.parse_proxy(purl) if (purl.length > 0) match = purl.match('http://(.*):(.*)@([^/]*):([0-9]*)') match = match.to_a match.shift puts "Using proxy #{match[2]} and port #{match[3]}" [match[2], match[3].length ==どうやらプロキシを指定するURLが、正規表現にマッチしていなかったみたいです。
0 ? 80 : Integer(match[3]), match[0], match[1]] else nil end end
raven install --proxy http://u:p@proxy.com:1111 commons-langこんどはうまくいきました!無事にcommons-langの2.2がダウンロードされました!
・・・て、あれ?2.2?
今の最新は2.3だろ?
嫌な予感がします。
raven install --proxy http://u:p@proxy.com:1111 commons-lang:2.3 raven: 2.3なんてねーよwwww raven install --proxy http://u:p@proxy.com:1111 ezmorph raven: ezmorph?何それ食えるの? raven install --proxy http://u:p@proxy.com:1111 JSON-lib raven: JSON-lib?何それ食えるの?だめだこいつ・・・はやくなんとかしないと・・・
要するに、去年かおととしぐらいからravenのリポジトリ情報が最新化されていないみたいなんです。
おかげさまで新しいライブラリが全く使えません。
しかもこのravenマイナーなプロジェクトですから、ほかにリポジトリ情報がある場所もわからず・・・
と言うわけで結論。Ravenはいいシステムなんですが、メンテされてないです。使えません・・・
今度は
Apache Ivy, the agile dependency manager
こんなのを試してみようと思います。
PR
この記事にコメントする
カレンダー
10 | 2024/11 | 12 |
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
ブログ内検索
最新記事
(10/12)
(10/09)
(10/09)
(10/08)
(10/05)
カテゴリー
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
推奨環境
横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。