服务器上替换了个jar包,修改了两个java文件编译后的class文件

昨天晚上发布还是可以运行的,只是tomcat启动时间相较于以前久了点,能正常使用。今天早上一来服务器上的startup.bat就死掉了,清空了work文件夹,再点star... 昨天晚上发布还是可以运行的,只是tomcat启动时间相较于以前久了点,能正常使用。今天早上一来服务器上的startup.bat就死掉了,清空了work文件夹,再点startup的时候 黑框是一闪而过的,后台显示java.lang.OutOfmemoryError:out of swap space的错误,换上昨晚上备份的系统 又能正常启动tomcat,请问下有可能是什么原因呢? 展开
 我来答
匿名用户
2015-04-23
展开全部
不要修改了,给它派生出一个子类或编辑同一个类后把源类替换掉得了。

上述方法是通过调用这个类包派生出一系列类重新生成一个JAR文件与其共用,使它达到你想要的效果,不过现在想想这个办法工作量也不小,考虑下一个试试。

你可以把他们解压出来,然后反编译你需要改动的那个类,改动期间再进行反编译需要牵涉到的类,这样就不需要全部反编辑了。

现在我还没有别的捷径,也很想知道。

六月十五日
想把它压缩成jar文件,暂且把java独立应用程序分成两种:
1)没有用到Package的普通程序;
2)有Package的,一般有多个.class文件才用的。

1)比如你写的java文件的目录是:D:\JAVA\test.java;那么你运行完会在同一目录下生成一个test.class文件,这时新建一个MANIFEST.txt文档(名字看清楚了)。
打开写入以下内容:
Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: test
保存为MANIFEST.MF。从命令行进入到JAVA目录下,
敲入: jar cvfm test.jar manifest.mf test
这样就生成了test.jar文件,直接点击就可以运行。

2)还是这个目录:D:\JAVA\test1.java和test2.java;且两个程序都中有package com.chat,就是把生成的.class放在里面,这时的MANIFEST.MF(可以用写字板打开)
内容是:
Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: com.chat.test1
注:test1里必须有main函数。
从命令行进入到JAVA目录下,
敲入:jar cvfm t1.jar manifest.mf com/*;test2
同理。在DOS 下
jar fc a.jar a
a 是你要打包文件夹
a.jar 是打包后的文件名 随便命名。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式