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包选中加入,然后就完成啦!

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页