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


目普通java项目打jar包运行
    1.1、新建一个java项目,必须有main方法,sys的打印目录重定向到到外部文件
    1.2、把项目到出成jar,如果Launch configuration 选不到要执行的main方法类,就先执行一下main方法
    1.3、运行jar文件
2、jar包中class文件替换

1、 <--返回目录

转载于:https://my.oschina.net/ThreeTiger/blog/2049719

1.1、 <--返回目录

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文件替换