Repolode
ingokegel

ingokegel/jclasslib

Javaのクラスファイルを閲覧・編集するバイトコードビューアと、読み書きに使えるKotlin Multiplatformライブラリ。

スター
2,998
フォーク
422
未解決の Issue
10
最終コミット
2 か月前

これは何?

jclasslibは、コンパイル済みJavaクラスファイルを調べるためのツールです。定数プール、属性、メソッド、その中のバイトコード命令など、クラスの構造を可視化するため、コンパイラが実際に生成した内容を確認できます。

閲覧だけでなく、定数プールのエントリや個々のバイトコード命令など、クラスファイルの多くの部分をUIから編集できます。複数のクラスファイルやJARファイルを同時に開き、クラスパスをたどって閲覧できるほか、ライトモードとダークモードを切り替えられます。IntelliJ IDEAプラグインを使えば、Java、Groovy、Kotlinのファイルについて、同じビューをIDE内で利用できます。

また、Maven Centralでjclasslib-dataとして公開されているKotlin Multiplatformライブラリも含まれており、ほかのコードからJVMのクラスファイルやバイトコードを読み書きできます。

主な機能

  • 01クラスファイルの構造、定数プール、属性、バイトコード命令を可視化
  • 02UIから定数プールのエントリやバイトコード命令を編集
  • 03複数のクラスファイルやJARファイルを同時に開き、クラスパスを閲覧
  • 04IDE内でバイトコードを表示できるIntelliJ IDEAプラグインを提供
  • 05クラスファイルを読み書きするKotlin Multiplatformライブラリを提供

ユースケース

  • 指定したメソッドやクラスについて、Javaコンパイラが生成した内容を調べる
  • バイトコード、定数プール、クラスファイル属性に関する問題をデバッグする
  • バイトコードを手動で変更し、JVMの動作を理解する
  • jclasslib-dataライブラリを使って、クラスファイルをプログラムから読み書きするツールを構築する

クイックスタート

  1. 1

    Homebrew を使って macOS にビューアをインストールする

    brew install jclasslib-bytecode-viewer
  2. 2

    リリースページから使用するプラットフォーム用のインストーラーをダウンロードする

  3. 3

    Maven Central から org.jclasslib:jclasslib-data を使って Kotlin ライブラリを追加する

    org.jclasslib:jclasslib-data:<version>

使う前に知っておきたいこと

  • ライセンスは GPL 2.0 ですが、メタデータでは NOASSERTION と記載されています。ライセンス条項をご自身で確認してください。
  • Homebrew によるインストールは macOS でのみ利用できます。それ以外のプラットフォームでは、ダウンロードしたインストーラーを使用してください。

収録されている特集

トピック

よくある質問

jclasslib とは?
Javaのクラスファイルを閲覧・編集するバイトコードビューアと、読み書きに使えるKotlin Multiplatformライブラリ。 jclasslibは、コンパイル済みJavaクラスファイルを調べるためのツールです。定数プール、属性、メソッド、その中のバイトコード命令など、クラスの構造を可視化するため、コンパイラが実際に生成した内容を確認できます。
jclasslib は無料で使えますか?ライセンスは?
jclasslib は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
jclasslib は今もメンテナンスされていますか?
半年以内に更新あり。jclasslib の最終コミットは 2026年8月31日 です。
jclasslib は何に使えますか?
指定したメソッドやクラスについて、Javaコンパイラが生成した内容を調べる バイトコード、定数プール、クラスファイル属性に関する問題をデバッグする バイトコードを手動で変更し、JVMの動作を理解する jclasslib-dataライブラリを使って、クラスファイルをプログラムから読み書きするツールを構築する
jclasslib のインストール方法は?
Homebrew を使って macOS にビューアをインストールする: brew install jclasslib-bytecode-viewer リリースページから使用するプラットフォーム用のインストーラーをダウンロードする Maven Central から org.jclasslib:jclasslib-data を使って Kotlin ライブラリを追加する: org.jclasslib:jclasslib-data:<version>
jclasslib はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ingokegel/jclasslib

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

稼働中のJavaアプリケーションを再起動せず、非侵襲的なランタイムAOPを追加できるJVMサンドボックスコンテナ。

DevOps・クラウド#java#jvm#aop
6952+2 今週1586JavaLGPL-3.0更新 2 か月前