aboutsummaryrefslogtreecommitdiffstats
path: root/index.html
blob: de9464bfeaeb88753b446530d80c071eade4d330 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="UTF-8">
    <title>Javassist by jboss-javassist</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
    <link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
  </head>
  <body>
    <section class="page-header">
      <h1 class="project-name">Javassist</h1>
      <h2 class="project-tagline">Java bytecode engineering toolkit since 1999</h2>
      <a href="https://github.com/jboss-javassist/javassist" class="btn">View on GitHub</a>
      <a href="https://github.com/jboss-javassist/javassist/zipball/master" class="btn">Download .zip</a>
      <a href="https://github.com/jboss-javassist/javassist/tarball/master" class="btn">Download .tar.gz</a>
    </section>

    <section class="main-content">
      <p>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.</p>

<h2>
<a id="availability" class="anchor" href="#availability" aria-hidden="true"><span class="octicon octicon-link"></span></a>Availability</h2>

<ul>
<li>
<p>Javassist version 3.27.0-GA is available (March 19, 2020). </p>

<p>This version is distributed under the triple license of the MPL, the LGPL, and the Apache License.
The distribution includes the jar file, the sources, some samples, the API manual, and a tutorial.
The binary is also available from the central repo.</p>
</li>
<li><p><a href="https://github.com/jboss-javassist/javassist/releases">Releases</a></p></li>
<li><p><a href="./html/index.html">Online API manual</a></p></li>
<li>
<p><a href="./tutorial/tutorial.html">Tutorial</a></p>

<p>Japanese translation of the tutorial for version 3.0 is <a href="http://www.acroquest.co.jp/webworkshop/javassis/javassist01.html">here</a>.</p>
</li>
<li><p>Old <a href="https://jira.jboss.org/jira/browse/JASSIST">Bug Tracker</a></p></li>
<li>
<p>Old binaries, etc. (3.18.0-GA and earlier)</p>

<p>Available from <a href="https://sourceforge.net/projects/jboss/files/Javassist/">sourceforge.net (zip)</a>.</p>
</li>
</ul>

<h2>
<a id="publication" class="anchor" href="#publication" aria-hidden="true"><span class="octicon octicon-link"></span></a>Publication</h2>

<ul>
  <li>Shigeru Chiba, "Load-time Structural Reflection in Java,"
  ECOOP 2000 - Object-Oriented Programming, LNCS 1850, Springer Verlag, page 313-336, 2000.<br/> 
(The overview of Javassist) </li>

<li>Shigeru Chiba and Muga Nishizawa, "An Easy-to-Use Toolkit for Efficient Java Bytecode Translators,"
Proc. of 2nd Int'l Conf. on Generative Programming and Component Engineering (GPCE '03), 
LNCS 2830, pp.364-376, Springer-Verlag, 2003.<br/> 
(The performance of Javassist) </li>
</ul>

<h2>
<a id="export-control" class="anchor" href="#export-control" aria-hidden="true"><span class="octicon octicon-link"></span></a>Export control</h2>

<p>Here is the information you might need to export your commercial software including Javassist.</p>

<ul>
<li><p>Country of origin: Japan</p></li>
<li><p>Is there US Content in there?: No</p></li>
<li><p>Is the software designed or modified to use cryptography: No</p></li>
</ul>

<h2>
<a id="acknowledgment" class="anchor" href="#acknowledgment" aria-hidden="true"><span class="octicon octicon-link"></span></a>Acknowledgment</h2>

<p>The development of Javassist was supported in part by the PRESTO and CREST funding programs of <br/>Japan Science and Technology Agency.</p>

      <footer class="site-footer">
        <span class="site-footer-owner"><a href="https://github.com/jboss-javassist/javassist">Javassist</a> is maintained by <a href="https://github.com/jboss-javassist">jboss-javassist</a>.</span>

        <span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
      </footer>

    </section>

  
  </body>
</html>