单独Java文件的通用快速编译方法

我们经常需要对单独Java文件进行编译。

最简单的情况是我们Java源代码不依赖外部任何jar包,此时直接使用javac命令就可以编译成class文件;或者依赖少量的jar包,我们依然可以在命令行中带上-classpath参数和依赖jar包,依然可以很轻松编译出class文件。

还有一种是尽管项目比较复杂,但是源代码都在自己手中,也可以使用项目搭建的编译环境编译出来。

但是若我们是从网上下载的系统,发现了Bug,需要对立面的class文件进行修改和替换的时候,编译倒是个问题;或者我们需要对系统快速解决bug,替换jar文件的时候。本文章方法是一种快速通用的解决方案。该方案使用ant,因此需要建立build.xml文件:

build.xml

<?xml version=”1.0″ encoding=”UTF-8″?><!–Build single java file:// 1, Put java file in ./// 2, Put depend libs in ./libs/// 3, Run build.bat–><project default=”compile” basedir=”.”><path><fileset dir=”./libs”><include/></fileset><pathelement path=”./*.jar”/></path><target><javac destdir=”.” debug=”on” source=”1.7″ target=”1.7″ ><src path=”.”/><classpath refid=”cmp.classpath”/></javac></target></project>

在build.xml文件同目录建立libs目录,最终如图:

./… libs/… build.xml

使用步骤:

首先可以使用java decompiler反编译工具将jar文件反编译出java文件,找出需要修改的java文件;修改之后保存为java文件,将java文件放到build.xml同目录;最终文件结构如下:

./… libs/………./依赖1.jar………./依赖2.jar… build.xml… Java源文件

再将jar文件,包括系统运行可能需要的jar文件放到libs目录下。在build.xml同目录下运行ant命令,即会在当前目录下编译出所需class文件。

class文件编译出之后,就可以使用7-zip软件打开jar文件并将class文件替换掉jar文件里面对应的class文件,这样就快速实现了jar文件的升级和补丁工作。

这是通用方法,以后遇到其它jar文件同样可以这样快速编译和解决bug。

本文出自 “小何贝贝的技术空间” 博客,请务必保留此出处

,如果可以,我真想和你一直旅行。

单独Java文件的通用快速编译方法

相关文章:

你感兴趣的文章:

标签云: