• 大小: 1.46MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-03
  • 语言: Java
  • 标签: javaassist  java  

资源简介

javaassist,class文件修改工具

资源截图

代码片段和文件信息

package sample;

import javassist.*;

/*
   A very simple sample program

   This program overwrites sample/Test.class (the class file of this
   class itself) for adding a method g().  If the method g() is not
   defined in class Test then this program adds a copy of
   f() to the class Test with name g().  Otherwise this program does
   not modify sample/Test.class at all.

   To see the modified class definition execute:

   % javap sample.Test

   after running this program.
*/
public class Test {
    public int f(int i) {
return i + 1;
    }

    public static void main(String[] args) throws Exception {
ClassPool pool = ClassPool.getDefault();

CtClass cc = pool.get(“sample.Test“);
try {
    cc.getDeclaredMethod(“g“);
    System.out.println(“g() is already defined in sample.Test.“);
}
catch (NotFoundException e) {
    /* getDeclaredMethod() throws an exception if g()
     * is not defined in sample.Test.
     */
    CtMethod fMethod = cc.getDeclaredMethod(“f“);
    CtMethod gMethod = CtNewMethod.copy(fMethod “g“ cc null);
    cc.addMethod(gMethod);
    cc.writeFile(); // update the class file
    System.out.println(“g() was added.“);
}
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\
     文件         103  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\.gitignore
     文件       25890  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\License.html
     文件        1453  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\README.md
     文件       26910  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\Readme.html
     文件       10734  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\build.xml
     文件      725035  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\javassist.jar
     文件        9834  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\pom.xml
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\
     文件        1190  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\Test.java
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\duplicate\
     文件         844  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\duplicate\Ball.java
     文件         993  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\duplicate\Duplicatedobject.java
     文件        1774  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\duplicate\Main.java
     文件        1737  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\duplicate\Viewer.java
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\
     文件         309  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\CannotCreateException.java
     文件         301  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\CannotUpdateException.java
     文件        1246  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\DemoLoader.java
     文件        2959  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\DemoServer.java
     文件        6846  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\Evolution.java
     文件         248  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\Sample.java
     文件        2844  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\VersionManager.java
     文件         429  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\WebPage.java
     文件        1778  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\demo.html
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\sample\
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\sample\evolve\
     文件         560  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\sample\evolve\WebPage.java
     文件         667  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\start.html
     文件         107  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\evolve\update.html
     目录           0  2015-12-07 15:28  jboss-javassist-javassist-ccddf79\sample\hotswap\
............此处省略613个文件信息

评论

共有 条评论