服务器上替换了个jar包,修改了两个java文件编译后的class文件
昨天晚上发布还是可以运行的,只是tomcat启动时间相较于以前久了点,能正常使用。今天早上一来服务器上的startup.bat就死掉了,清空了work文件夹,再点star...
昨天晚上发布还是可以运行的,只是tomcat启动时间相较于以前久了点,能正常使用。今天早上一来服务器上的startup.bat就死掉了,清空了work文件夹,再点startup的时候 黑框是一闪而过的,后台显示java.lang.OutOfmemoryError:out of swap space的错误,换上昨晚上备份的系统 又能正常启动tomcat,请问下有可能是什么原因呢?
展开
1个回答
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 是打包后的文件名 随便命名。
上述方法是通过调用这个类包派生出一系列类重新生成一个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 是打包后的文件名 随便命名。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询