Java手动编译命令

概述

  • 前几天有个java项目,由于没有了源代码,只剩下一个tomcat下的一个webapp应用程序,需要对其中的某个servlet类进行修改,并且重新编译为class文件,进行故障排错和修改。
原理
  • 众所周知,java工程编译的class文件,目前很容易就可以被反编译为源文件并且进行修改。此次是一个web工程,但其实我不需要重新去建立一个web工程,我只需要找到相应的类,并且反编译为java文件,进行修改后,再进一步编译为java类
工具
  • 反编译工具用到了jd-gui,这个工具可以将一个class反编译为java文件,并支持将全部资源进行导出,从而可以得到一个完整的源代码。
    在这里插入图片描述
  • 再解压缩这个包,即可得到项目工程的源代码
    -在这里插入图片描述
编译命令
  • 项目是有包层级的,以及引入了其他外部的包,所以需要使用CLASSPATH环境变量,将所需的jar包引入进来。
  • 我这边做法是将项目所有可能用到的包都放在了一个路径下,包括tomcat的lib以及项目本身的lib,再通过一个for循环,将所有的jar包路径追加再CLASSPATH环境变量中。
for jar in /root/apache-tomcat-7.0.103/lib/*.jar; do  CLASSPATH=$CLASSPATH:$jar; done
export CLASSPATH
  • 编译时,指定一个java源代码路径SOURCEPATH变量,这个变量指向源代码的最外面的一个层级,确保没有报一些引入包或者类不存在的错误,其他的一些就需要根据错误慢慢的进行调整即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值