普通java项目打jar包运行以及 jar包中class文件替换
2022/1/25 17:05:00
本文主要是介绍普通java项目打jar包运行以及 jar包中class文件替换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
1、普通java项目打jar包运行
1.1、新建一个java项目,必须有main方法,sys的打印目录重定向到到外部文件
1.2、把项目到出成jar,如果Launch configuration 选不到要执行的main方法类,就先执行一下main方法
1.3、运行jar文件
2、jar包中class文件替换
1、普通java项目打jar包运行 <--返回目录
转载于:https://my.oschina.net/ThreeTiger/blog/2049719
1.1、新建一个java项目,必须有main方法,sys的打印目录重定向到到外部文件
public class Main { public static void main(String[] args) throws FileNotFoundException { File test = new File("log.txt"); PrintStream out = new PrintStream(new FileOutputStream(test)); Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { System.setOut(out); System.out.println("hello world!"+new Date()); } }, 1000, 1000); } }
1.2、把项目到出成jar,如果Launch configuration 选不到要执行的main方法类,就先执行一下main方法
1.3、运行jar文件
方法一:打开cmd界面后输入java -jar ***.jar 就可以运行,并且可以看到jar同级目录生成了log.text日志文档,关掉命令行框,程序终止
方法二:新建bat命令运行工具,双击运行,关闭程序需要在进程里杀掉
@echo off start javaw -jar tdemo.jar exit
2、 jar包中class文件替换 <--返回目录
public class Demo01 { public static void main(String[] args) { fun1(); } public static int fun1() { int num = 1; System.out.println("fun1()返回" + num); return num; } }
把上面Demo项目exprot为jar包。运行结果:
修改 com.oy.test.Demo01 类 num=2,编译后复制 com.oy.test.Demo01.class 到与 aaa.jar 同一目录。
当然也可以复制 com.oy.test.Demo01.java 到 aaa.jar 同一目录后使用javac进行编译。
使用 jar -uvf aaa.jar com,将 com 目录里面所有 class文件 替换到 aaa.jar。注意 com 目录层级要与 aaa.jar 要被替换的 class 的目录层级保持一致。
另外,需要注意的是,com 目录的所有文件,在 aaa.jar 找到对应的文件则替换,没有找到则添加。
参考:Jar包中Class文件替换
这篇关于普通java项目打jar包运行以及 jar包中class文件替换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南