ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

普通java项目打jar包运行以及 jar包中class文件替换

2022-01-25 15:34:46  阅读:197  来源: 互联网

标签:包中 java jar 目录 main com 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方法

4aa07997a2ffbc55a6bf5faa22b0a20eb8b.jpg

59afd8ec1349e3fa241af8c5ef3a56827ee.jpg

 

1.3、运行jar文件

方法一:打开cmd界面后输入java -jar ***.jar 就可以运行,并且可以看到jar同级目录生成了log.text日志文档,关掉命令行框,程序终止

ce78132d7ffb2f913eba641bb3160fc8a1e.jpg

97f380e96a5f9fc3ec6d0005a307b367d11.jpg

 

方法二:新建bat命令运行工具,双击运行,关闭程序需要在进程里杀掉

@echo off
 
start javaw -jar tdemo.jar
 
exit

4a5970da3203fea4f12614b1188ff3d5a93.jpg

5c476f901fc8f7a0c70cb81778885d50199.jpg

 

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,目录,main,com,class
来源: https://www.cnblogs.com/xy-ouyang/p/15843127.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有