[![Java CI with Maven](https://github.com/jboss-javassist/javassist/actions/workflows/maven.yml/badge.svg)](https://github.com/jboss-javassist/javassist/actions/workflows/maven.yml)

Java bytecode engineering toolkit
### [Javassist version 3](http://www.javassist.org)

Copyright (C) 1999-2022 by Shigeru Chiba, All rights reserved.

Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation
simple. It is a class library for editing bytecodes in Java; it enables Java
programs to define a new class at runtime and to modify a class file when the
JVM loads it. Unlike other similar bytecode editors, Javassist provides two
levels of API: source level and bytecode level. If the users use the source-
level API, they can edit a class file without knowledge of the specifications
of the Java bytecode. The whole API is designed with only the vocabulary of
the Java language. You can even specify inserted bytecode in the form of
source text; Javassist compiles it on the fly. On the other hand, the
bytecode-level API allows the users to directly edit a class file as other
editors.

This software is distributed under the Mozilla Public License Version 1.1,
the GNU Lesser General Public License Version 2.1 or later, or
the Apache License Version 2.0.

#### Files

  * [Readme.html](Readme.html)
Readme file (a longer version of this file).

  * [License.html](License.html)
License file

  * [tutorial/tutorial.html](tutorial/tutorial.html)
Tutorial

  * ./javassist.jar
The Javassist jar file (class files)

  * ./src/main
The source files

  * [html/index.html](html/index.html)
The top page of the Javassist API document.
