[开发技巧]对jar包进行再次修改
2005-06-21 22:43
579 查看
樊欢 java爱好者。
Email :heydaymail@hotmail.com
Blog :http://heyday.blogone.net
2005-6-19
引言
在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供详细的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很详细,这对我们使用就非常不方便。
有道是,知其然才知其所以然。有时候,我们必须读取jar里的打包的类。而有时还有可能要对它进行小量修改,使之适用于自己的特殊需求。
前期准备
Java反编译工具:
强烈推荐,小颖JAVA源代码反编译系列专家1.4终极版。
压缩工具:
Winrar
(这些工具,都可以通过搜索在网络上找到)
开始
1. 将jar包解压
我们可以使用winrar工具将jar解压到指定目录
2. 反编译class
使用 Java 反编译工具,将class文件反编译为java文件。(大多数反编译工具只提供单个class文件的反编译,这里推荐"小颖JAVA源代码反编译"工具,可以反编译一个目录下的所有class文件)
3. 构建项目
我们将反编译后的java文件设为项目的源文件目录。
将jar,及jar所需要的其它lib,作为libraries加入项目中,这样可以保证我们的java文件可以编译。
4. 对反编译的java进行修改
通过反编译的java文件,可能还有错误,不能编译通过,在不影响作者原始意图的前提下,我们必须对它进行小量修改,保证可编译通过。
保证java文件可以编译通过后,我们再在其基础上进行修改,使之符合自己的需求。
5. 编译修改的java
编译修改后的java文件,注意的是,最好只编译修改的单个java文件。
编译完成后,我们进行测试,保证修改无误。因为JVM会先找寻classes目录下的class文件,并率先加入,这样我们修改编译后的class文件,便是测试时使用的class文件。
重复这个过程,直至java达到我们的目的。
6. Jar打包
将修改生成后的class文件,替换我们将jar解压缩目录下的相应class文件,重新打包生成jar。
我们可以使用jar命令进行打包,也可以使用winrar工具进行打包。使用winrar工具打包时,要注意选择压缩文件格式为zip,并将生成的压缩包文件的后缀名设置为jar。
替换原来的jar。再进行最后一次测试。
总结
由于Java的跨平台性,使得java的class文件可以进行反编译,我们可以对jar文件进行修改,使之适用于自己的需求。
对jar文件进行修改,我们必须首先获得jar开发者的同意。
对jar文件进行修改,首先必须对反编译的java文件比较熟悉。这就必须有良好的代码阅读能力,清楚作者的技术架构和开发设计思想。如果没有把握,最好能与jar开发者联系,提出你的需求。
对于某些java开发者来说,并不希望将自己辛辛苦苦写的code公布于众,为了避免他人反编译,可以使用混淆器,但也只是增加代码阅读的困难性。如果不是作为商业运用,我们还是希望开发者能够提供源代码,互相学习探讨。
关于作者
樊欢 java爱好者,您可以通过heydaymail@hotmail.com与我联系。
Email :heydaymail@hotmail.com
Blog :http://heyday.blogone.net
Email :heydaymail@hotmail.com
Blog :http://heyday.blogone.net
2005-6-19
引言
在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供详细的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很详细,这对我们使用就非常不方便。
有道是,知其然才知其所以然。有时候,我们必须读取jar里的打包的类。而有时还有可能要对它进行小量修改,使之适用于自己的特殊需求。
前期准备
Java反编译工具:
强烈推荐,小颖JAVA源代码反编译系列专家1.4终极版。
压缩工具:
Winrar
(这些工具,都可以通过搜索在网络上找到)
开始
1. 将jar包解压
我们可以使用winrar工具将jar解压到指定目录
2. 反编译class
使用 Java 反编译工具,将class文件反编译为java文件。(大多数反编译工具只提供单个class文件的反编译,这里推荐"小颖JAVA源代码反编译"工具,可以反编译一个目录下的所有class文件)
3. 构建项目
我们将反编译后的java文件设为项目的源文件目录。
将jar,及jar所需要的其它lib,作为libraries加入项目中,这样可以保证我们的java文件可以编译。
4. 对反编译的java进行修改
通过反编译的java文件,可能还有错误,不能编译通过,在不影响作者原始意图的前提下,我们必须对它进行小量修改,保证可编译通过。
保证java文件可以编译通过后,我们再在其基础上进行修改,使之符合自己的需求。
5. 编译修改的java
编译修改后的java文件,注意的是,最好只编译修改的单个java文件。
编译完成后,我们进行测试,保证修改无误。因为JVM会先找寻classes目录下的class文件,并率先加入,这样我们修改编译后的class文件,便是测试时使用的class文件。
重复这个过程,直至java达到我们的目的。
6. Jar打包
将修改生成后的class文件,替换我们将jar解压缩目录下的相应class文件,重新打包生成jar。
我们可以使用jar命令进行打包,也可以使用winrar工具进行打包。使用winrar工具打包时,要注意选择压缩文件格式为zip,并将生成的压缩包文件的后缀名设置为jar。
替换原来的jar。再进行最后一次测试。
总结
由于Java的跨平台性,使得java的class文件可以进行反编译,我们可以对jar文件进行修改,使之适用于自己的需求。
对jar文件进行修改,我们必须首先获得jar开发者的同意。
对jar文件进行修改,首先必须对反编译的java文件比较熟悉。这就必须有良好的代码阅读能力,清楚作者的技术架构和开发设计思想。如果没有把握,最好能与jar开发者联系,提出你的需求。
对于某些java开发者来说,并不希望将自己辛辛苦苦写的code公布于众,为了避免他人反编译,可以使用混淆器,但也只是增加代码阅读的困难性。如果不是作为商业运用,我们还是希望开发者能够提供源代码,互相学习探讨。
关于作者
樊欢 java爱好者,您可以通过heydaymail@hotmail.com与我联系。
Email :heydaymail@hotmail.com
Blog :http://heyday.blogone.net
相关文章推荐
- java开发技巧:对jar包进行再次修改
- java开发技巧:对jar包进行再次修改
- java开发技巧:对jar包进行再次修改
- [开发技巧] 对jar包进行再次修改
- java开发技巧:对jar包进行再次修改
- 对jar包进行再次修改
- java开源框架应用技巧之spring配置文件中如果有多个.hbm.xml文件的话,无论是项目开发过程中还是维护过程中修改起来都会很麻烦切容易出错
- ios 开发超实用技巧:Xcode里批量修改 || 工程名 || 变量名 || 修改类名 || 自动封装代码Refactor功能
- iOS开发技巧:设置App icon图标及修改应用程序名
- eclipse+maven进行hadoop开发出现"Missing artifact jdk.tools:jdk.tools:jar:1.7"
- 50个Android开发技巧(09 避免用EditText对日期进行验证)
- 50个Android开发技巧(09 避免用EditText对日期进行验证)
- Android 开发技巧-以友盟为例在Android Studio利用gradle进行多渠道打包和apk签名发布
- WebGIS团队开发中,由于主机名的不同造成开发不能同步进行,每次都要修改主机名
- iOS开发技巧:设置App icon图标及修改应用程序名
- 50个Android开发技巧(09 避免用EditText对日期进行验证)
- iOS 开发技巧之 ---- 使用Mac上的Safari对UIWebView进行调试
- iOS开发技巧--修改app名称
- android studio中修改快捷键以及实用的开发快捷键,方便技巧
- 安卓-开发常见问题之修改android工程的jar包版本