| IKVM | |
|---|---|
| その他の名前 | IKVM.NET |
| 原作者 | ジェローン・フリッターズ |
| 開発者 | ウィンドワード・スタジオ、ジェローム・ハルトム |
| 安定版リリース | 8.14.0 [1]
/ 2025年10月1日 (2025年10月1日) |
| リポジトリ |
|
| 書かれた | JavaとC# |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Java仮想マシン、Javaバイトコード コンパイラ、Javaライブラリ |
| ライセンス | zlibライセンス |
| Webサイト | ikvm.org |
IKVM(旧称IKVM.NET )は、 MonoやMicrosoft .NET Frameworkなどの共通言語基盤実装向けのJava実装です。IKVMはフリーソフトウェアであり、zlib permissiveフリーソフトウェアライセンスに基づいて配布されています。[2]
IKVMの開発は2000年初頭、JavaベースのレポートパッケージをSumatraからMicrosoft .NETに移行することを目的として開始されました。当初の開発者であるJeroen Frijters氏は2015年にIKVMの開発を中止しました。[3] 2018年、Windward StudiosはIKVM.NETをフォークし、オープンソース化されたIKVMの開発を継続しました。[4] 2022年、Jerome Haltom氏らが新しいGitHub組織で開発を引き継ぎ、.NET Coreのサポートを完了しました。[5]
コンポーネント
IKVM には次のコンポーネントが含まれています。
- .NETで実装されたJava仮想マシン(JVM)
- Javaクラスライブラリの.NET実装
- Java バイトコード ( JAR ファイル) を .NET IL ( DLLまたはEXE ファイル) に変換するツール。
- Javaと.NETの相互運用性を実現するツール
IKVMは、コンパイルされたJavaコード(バイトコード)をMicrosoft .NETまたはMono上で直接実行できます。バイトコードはオンザフライでCILに変換され、実行されます。
対照的に、J#は .NET フレームワーク上の Java 構文ですが、IKVM は実質的に .NET フレームワーク上で実行される Java フレームワークです。
Jeroen FrijtersはIKVMの主要な貢献者であり、オランダに拠点を置くSumatra Softwareのテクニカルディレクターを務めています。[6]
名前
名前の「IKVM」の部分は「JVM」をもじったもので、作者は「Jに隣接する2文字をそのまま取った」とのことです。[7]
状態
IKVM 8 はJava 8を実装します。
IKVM組織は、Maven成果物への直接参照とトランスパイルを可能にする.NET PackageReferenceシステムの拡張機能であるIKVM.Maven.Sdk [8]も管理しています。IKVM.Maven.SdkはNuGet.orgでも入手可能です。 [9]
例
以下は、現在のディレクトリ内のファイルのリストを出力する、Java で記述された .NET アプリケーションです。
IKVMでは、System.*.NETの名前空間は と表記されることに注意してくださいcli.System.*。[10]
パッケージorg.wikipedia.examples ;
cli.System.IO.*をインポートします。
パブリッククラスExample { public static void main ( String [ ] args ) { String [ ] files = Directory.GetFiles ( " . " ) ; for ( String file : files ) { System.out.println ( file ) ; } } }
参照
参考文献
- ^ “リリース 8.14.0”. 2025年10月1日. 2025年10月20日閲覧。
- ^ “ライセンス”. www.ikvm.net . 2020年2月22日時点のオリジナルよりアーカイブ。
- ^ “IKVM.NETの終焉”. 2017年7月18日時点のオリジナルよりアーカイブ。2017年7月22日閲覧。
- ^ 「IKVMは健在です」。www.windwardstudios.com。
- ^ 「IKVM - .NET用Java仮想マシン」。GitHub 。 2022年8月27日。
- ^ 「Sumatra Software bv」2014年4月30日閲覧。
- ^ “osdir mailing list archive for java.ikvm.devel”. 2012年12月27日時点のオリジナルよりアーカイブ。2012年10月9日閲覧。
- ^ "IKVM.Maven.Sdk". GitHub .
- ^ "IKVM.Maven.SDk". www.nuget.org。
- ^ 「IKVMチュートリアル」ikvm.org . Windward Studios、Jerome Haltom、2023年。
外部リンク
- 公式サイト
- GitHubの ikvm