修改第三方源码并重新打包

[b]1.场景[/b]
很多时候需要下载第三方源码修改并重新编译打包,比如mybatis-generator-core-1.3.2.jar需要修改其中的org.mybatis.generator.internal.DefaultCommentGenerator.java。

[b]2. 步骤[/b]
[b]2.1 抽源码并修改[/b]
我们可以从jar包里反编译源码(可能跟源码会有些不一致),最好从source包(mvn下载)里解压抽出源码,然后修改。

[b]2.2 编译[/b]
把class的jar包mybatis-generator-core-1.3.2.jar放在E:\git_other目录下,把mybatis-generator-core-1.3.2-sources.jar解压到当前目录下,mybatis-generator-core-1.3.2-sources。
然后进入到修改的源文件的目录下,在cmd下执行:
E:\git_other\mybatis-generator-core-1.3.2-sources\org\mybatis\generator\internal>javac -encoding utf8 -source 1.6 -target 1.6 -classpath E:\git_other\mybatis-generator-core-1.3.2.jar DefaultCommentGenerator.java

编译成功。
然后把修改后的class文件替换到mybatis-generator-core-1.3.2.jar下(试用7zip)。

补充说明,如果修改的文件有多个,请按照依赖顺序执行。

针对mybatis-generator:
DefaultCommentGenerator.java: model, xml的默认注释在这里生成
DefaultDAOMethodNameCalculator.java: mapper的默认方法名这里生成
IntrospectedTable.java: xml的默认id这里生成

你可能感兴趣的:(问题记录)