

フライヤー・ポスターはこちら
「みんなの翻訳」は情報通信研究機構多言語翻訳研究室と東京大学図書館情報学研究室による共同プロジェクトであり、三省堂と国立情報学研究所連想情報学研究開発センターが開発に協力しています。
連携研究グループ一覧
ユーザ(翻訳グループ)一覧
謝辞

[[en:Java Classloader]](21:11, 31 January 2012 UTC)より翻訳
== JAR地獄 ==
[[DLL地獄]]に似た言葉として'''JAR地獄'''という言葉があるが、これはクラスのロードが思ったとおりに行われない状況全般を指して使われる<ref>http://incubator.apache.org/depot/version/jar-hell.html</ref>。
JAR地獄の発生する状況としては次の3つがある。
* 一つ目は、Javaアプリケーションの開発や配置の際に、たまたま同じライブラリの2つのバージョンが同時に利用可能になってしまった場合である。この場合、処理系はエラーを発生させず、単純にどちらか一方のライブラリからのみクラスをロードする。使用するライブラリのリストに新しいライブラリを追加(置き換えではなく)した場合、アプリケーションは古いライブラリを使っているのと同じ振る舞いになるものと考えられる。
* 問題が発生するもう一つの状況は、2つのライブラリAとB(または、アプリケーションAとそれが使っているライブラリB)が、別のライブラリCの異なるバージョンをそれぞれ要求している場合である。 ライブラリCの各バージョンでクラス名が変わらないなら、ライブラリCの各バージョンを一つのクラスローダで同時にロードする方法は存在しない。
* JAR地獄で最も複雑な問題は、クラスローダーの複雑性によって発生する。Javaプログラムでは単一の「フラットな」クラスローダーだけでなく、ネストした、協調して動作する複数の(場合によっては非常に多くの)クラスローダーを使用できる。別々のクラスローダーによってロードされたクラスは複雑に相互作用するが、開発者がその機序を十分に理解していない場合、不可解なエラーやバグが発生する<ref>http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader/2.html#N10118</ref>。
[[OSGi]]アライアンスは、現在および将来において、広く利用されているJavaME, SE, EEの各VMでJAR地獄を解決するべく、モジュール方式のフレームワークを策定している(1998年のJSR 8から始まっている)。これは、JAR[[manifestファイル|manifest]]中に書かれたメタデータを使い、JARファイル(''バンドル''と呼ばれる)をパッケージ単位で操作するものである。バンドルはパッケージをエクスポートしたりインポートしたり、パッケージをプライベートに保っておいたりすることができ、これにより基本的なモジュール化と、バージョン付けされた依存関係管理が行える。
JAR地獄に対する改善策として、2005年に[[Java Community Process]]によるJSR 277の策定が始まり、その結果として[[Java Module System]]が定義された。これは、配布フォーマット、モジュールのバージョン体系、共通モジュールのリポジトリ(目的は[[.NET Framework]]の[[Global Assembly Cache]]に類似)をJavaに導入することを目的としていたが、2008年12月、SunはJSR 277を保留とすることを発表した<ref>http://www.osgi.org/News/20081217</ref>。
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
翻訳者ページをみる
Javaクラスローダー[[en:Java Classloader]](21:11, 31 January 2012 UTC)より翻訳 …2012-02-19 22:18:35
バッファオーバーラン[[en:Buffer overflow]] (05:08, 19 December 2011? UTC)より翻訳 [[コンピュータセキュリティ]]および[[プログラミング]]における'''バッファオーバーフロー'''(''buffer overflow'')ま…2012-02-19 16:07:32
Mac 68Kエミュレータ[[en:Mac 68K emulator]] (18:58, 14 December 2011 UTC) より翻訳 {{翻訳中途|1=[http://en.wikipedia.org/wiki/Mac_68K_emulator 15:10, 5 August 2009]|date=2009年11月}} '''Mac 68K…2012-01-03 01:44:29
暗号文単独攻撃[[en:Ciphertext-only attack]] (11:00, 22 June 2011 UTC) より翻訳 [[暗号理論]]における’’’暗号文単独攻撃’’’(''ciphertext-only attack (COA)'')または’’’既知暗号文攻撃’’’(''know…2011-12-25 22:22:00