Jar包修改并重新打包(完整版攻略)

       jar包中的代码在myeclipse中只能进行查看,并不能进行修改。

一、修改或者查看jar包中的内容

       查看:可以使用解压缩软件直接查看

       修改:直接将文件名的后缀名改为xxx.zip,或者使用解压缩软件解压缩以后进行修改。

                  如果jar包中不含源代码,可以使用相关的反编译软件将.class文件反编译回.java文件(但是反编译的结果会有一定的偏差)。

                 有源代码的前提下,对源代码进行相应修改以后,要编译成.class文件,jar包中主要应该存放的是 .class文件, .java源文件只是方便使用者查看了解使用方法。

 

二、将 .java文件编译成 .class文件时遇到的问题

       我使用的是最原始的方法,在cmd中使用javac命令进行编译。(好像也可以使用eclipse来对java文件进行运行,然后会在某个文件夹中生成对应的.class文件)

       首先,cmd的相关命令:进入到对应的文件夹下,(cd .. 表示返回上一级目录    cd  xxx 表示进入下一级的某个目录) 

                                    

        然后当编译一个Java文件需要引用另一个class文件,即本java文件需要引用到别的自己写的类时,先将前一个类编译好,再编译本类。(如果彼此之间有相互引用并且正好在一个目录下时,可以在该目录下,直接将两个一起同时编译了)

        如果java文件有需要引入外部别的jar包时,需要用到-cp命令:

               加载单个jar包。需要下载用到的jar包,并引入目录。

                  javac -cp C:\Users\whr-pc\Desktop\classpath\img\json-lib-2.4-jdk15.jar   Json.java

               加载多个jar包,中间用 ;隔开。

                  javac -cp C:\Users\whr-pc\Desktop\classpath\img\json-lib-2.4-jdk15.jar;jdom-1.0.jar;spring-json-1.3.1.jar  Json.java

          当编译时出现编码GBK的不可映射字符的报错时,说明源代码里的中文出现了编码错误,可以将源代码使用notepad++(一种高级记事本)打开,点击上方菜单栏的编码,选择将编码转化为ANSI,然后再进行编译,编译就会通过。

          注意,全部.java文件编译好以后,一定要再使用notepad++用类似的操作,将编码再转回UTF-8,这样在myeclipse中查看相关java源代码文件的时候,中文才不会变成乱码影响阅读。

          同时注意,如果改动了java文件的相关层级结构,在java文件的首句package cn/...  应该进行对应改动,不是从jar包的名字开始,而是从jar包的下一个层级开始。后期加入到myeclipse中,其它引用了这个jar包的也用对包进行同样的更改。

 

三、对修改好以后的文件打成jar包

       同样通过cmd到指定目录下,然后使用jar命令  jar -cvf [jar包的名字] [需要打包的文件]         例如jar -cvf my.jar com

          

       然后会生成一个名为my.jar的jar包,在其中会比之前没有打包成jar包时多一个文件夹,并且这个文件夹一定要在jar包的第一层目录下,不能移动到别的再下层目录中,否则导包的时候就会出现,导包能顺利进行,但是读不出来jar包里面的具体内容。

       将整个jar包放在项目对应的WebRoot\WEB-INF\lib,然后在myeclipse中的相应文件夹下右键选择refresh进行刷新,比上方的刷新图标要快且管用。接着在项目下对应的处右键选择build path,然后configure buildpath,libraries选项卡右侧选择add jars,将相关的jar包选中加入,然后就完成啦!

  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
jar反编译是指将一个已经编译好的jar文件中的字节码文件反向转换为可读的Java源代码文件的过程。这个过程可以帮助开发者理解和修改原始的Java程序。而重新打包则是指在进行了反编译后,将修改过的Java源代码文件重新编译为字节码文件,并将其重新打包成一个新的jar文件。 在进行jar反编译后,我们可以使用各种反编译工具来查看和编辑反编译后生成的Java源代码文件。通过修改源代码文件,我们可以对原始的Java程序进行定制化的更改和优化。修改完成后,我们需要再次将修改后的源代码文件编译为字节码文件。 在重新打包的过程中,我们需要使用Java编译器将修改后的Java源代码文件编译为二进制的字节码文件。在编译过程中,编译器会检查源代码的语法错误,并将其转换为可执行的字节码。一旦编译成功,我们就可以将这些字节码文件和相关的资源文件(如果有的话)一起打包成一个新的jar文件。 重新打包后的jar文件可以被再次部署和使用。它包含了修改后的功能和特性,可以被其他开发者直接使用或者被业务环境部署运行。重新打包后的jar文件可以替代原始的jar文件,以实现我们对Java程序的改进和定制化。 总而言之,jar反编译后重新打包是一种重塑和定制Java程序的方式。通过反编译和重新打包,我们可以修改原始的Java程序并生成一个全新的jar文件,使得程序具备了我们所期望的特性和功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值