精华内容
下载资源
问答
  • shell脚本修改jar包内文件

    千次阅读 2019-05-30 19:11:49
    #输入要修改的jar文件 echo "Please Input jar ...#输入要修改jar内部文件名称 echo "Please Input file Name:(config.properties)" read fileName jar tvf $jarName |grep $fileName #查询到的文件,选择要修改的...
    #输入要修改的jar文件
    echo "Please Input jar Name:(jar/servcie.jar)"
    read jarName
    #输入要修改jar内部文件名称
    echo "Please Input file Name:(config.properties)"
    read fileName
    jar tvf $jarName |grep $fileName
    #查询到的文件,选择要修改的文件
    echo "Query out as follows,Please select the copy you want:"
    read oldFilePath
    jar xvf $jarName $oldFilePath
    sleep 1
    #复制你需要修改的文件
    echo "Please Input replace file path:(like:config/config.properties)"
    read newFilePath
    cp $newFilePath $oldFilePath
    echo "Replace success!"
    jar uvf $jarName $oldFilePath
    sleep 1
    java -jar $jarName &
    
    展开全文
  • linux下使用vim修改jar包内文件内容

    千次阅读 2018-11-12 09:51:56
    首先cd到jar包所在目录,运行命令 vim xxx.jar vim xxx.jar 可以使用vim命令进行当前目录下的文件查找,以及gg等相关命令。以log4j.xml文件为例: 1 输入如下查找命令查找文件: /log4j.xml 2 光标移动到该文件...

    首先cd到jar包所在目录,运行命令 vim xxx.jar

    vim xxx.jar

    可以使用vim命令进行当前目录下的文件查找,以及gg等相关命令。以log4j.xml文件为例:

    1 输入如下查找命令查找文件: /log4j.xml

    2 光标移动到该文件上之后敲回车,进入编辑界面

    3更改文件后,使用vim命令保存并推出即可

    注:如果更改某文件,出现不能保存的问题,例如“sorry, your system doesn’t appear to have the zip pgm”,这种问题出现的原因是因为机器上没有安装unzip,zip,所以使用yum install unzip和yum install zip

    展开全文
  • Java实现动态修改Jar包内文件内容

    千次阅读 2019-02-09 11:39:00
    import java.io.*; import java.util.Enumeration; import java.util.LinkedList; import java.util.List...import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.jar.JarOutputStream; ...
    
    import java.io.*;
    import java.util.Enumeration;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.jar.JarEntry;
    import java.util.jar.JarFile;
    import java.util.jar.JarOutputStream;
    
    /**
     * jarPath: jar包所在路径
     * jarFilePath: jar中想要修改文件所在的路径
     * regex:正则表达式
     * replacement:替换的字符串
     * 注意:Jar包内的jar包内的文件不适用!
     */
    public class JarTool {
    
        public void change(String jarPath, String jarFilePath, String regex, String replacement) throws IOException {
            File file = new File(jarPath);
            JarFile jarFile = new JarFile(file);// 通过jar包的路径 创建Jar包实例
            change(jarFile, jarFilePath, regex, replacement);
        }
    
        public void change(JarFile jarFile, String jarFilePath, String regex, String replacement) throws IOException {
            JarEntry entry = jarFile.getJarEntry(jarFilePath);//通过某个文件在jar包中的位置来获取这个文件
            //创建该文件输入流
            InputStream input = jarFile.getInputStream(entry);
            //获取entries集合lists
            List<JarEntry> lists = new LinkedList<>();
            Enumeration<JarEntry> entries = jarFile.entries();
            while (entries.hasMoreElements()) {
                JarEntry jarEntry = entries.nextElement();
                lists.add(jarEntry);
            }
            String s = readFile(input, regex, replacement);// 读取并修改文件内容
            writeFile(lists, jarFilePath, jarFile, s);// 将修改后的内容写入jar包中的指定文件
            jarFile.close();
        }
    
        private static String readFile(InputStream input, String regex, String replacement)
                throws IOException {
            InputStreamReader isr = new InputStreamReader(input);
            BufferedReader br = new BufferedReader(isr);
            StringBuilder buf = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                // 此处根据实际需要修改某些行的内容
                buf.append(line);
                buf.append(System.getProperty("line.separator"));
            }
            br.close();
            return buf.toString().replaceAll(regex, replacement);
        }
    
        private static void writeFile(List<JarEntry> lists, String jarFilePath,
                                     JarFile jarFile, String content) throws IOException {
            FileOutputStream fos = new FileOutputStream(jarFile.getName(), true);
            JarOutputStream jos = new JarOutputStream(fos);
            try {
                for (JarEntry je : lists) {
                    if (je.getName().equals(jarFilePath)) {
                        // 将内容写入文件中
                        jos.putNextEntry(new JarEntry(jarFilePath));
                        jos.write(content.getBytes());
                    } else {
                        //表示将该JarEntry写入jar文件中 也就是创建该文件夹和文件
                        jos.putNextEntry(new JarEntry(je));
                        jos.write(streamToByte(jarFile.getInputStream(je)));
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                // 关闭流
                jos.close();
            }
        }
    
        private static byte[] streamToByte(InputStream inputStream) {
            ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
            try {
                byte[] buffer = new byte[1024];
                int len;
                while ((len = inputStream.read(buffer)) != -1) {
                    outSteam.write(buffer, 0, len);
                }
                outSteam.close();
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return outSteam.toByteArray();
        }
    
    
        public static void main(String[] args) throws IOException {
            JarTool jarTool = new JarTool();
            jarTool.change("D:\\IDEA\\workSpace\\demo.jar"
                    , "spring/spring-aop.xml", "expression=\".*\"", "expression=\"%%\"");
        }
    
    }
    

    转载于:https://www.cnblogs.com/yueshutong/p/10357275.html

    展开全文
  • 在linux中直接修改jar包内文件

    千次阅读 2020-12-22 23:36:45
    eg:jar tvf springboot.jar(要修改jar包) | grep 1.txt(要修改文件) (2)解压jar中要修改文件 eg:jar xvf springboot.jar(要修改jar包) com/config/1.txt(步骤一种获取的完整路径名) (3)将修改好...

    (1)获取要修改文件的路径
    eg:jar tvf springboot.jar(要修改的jar包) | grep 1.txt(要修改的文件)
    (2)解压jar中要修改的文件
    eg:jar xvf springboot.jar(要修改的jar包) com/config/1.txt(步骤一种获取的完整路径名)
    (3)将修改好的文件重新打包到jar包中
    eg:jar uvf springboot.jar(要修改的jar包) com/config/1.txt(修改或替换过的文件)

    展开全文
  • 当有些文件上传到服务器调试的时候,为了方便修改jar包里的东西可以直接在服务器上进行修改,不需要每次都打包上传。 (1)使用jar tvf jar名称 | grep 目标文件名 查询出目标文件在jar包中的目录 jar tvf service...
  • linux下使用vim修改jar包zip包内文件内容: 查看
  • 文章目录背景`mac`终端进入`jar`包所在目录搜索指定文件修改并保存配置...不同于windows修改jar包配置文件内容:用压缩工具直接打开jar包修改并保存即可。 mac上并没有这样简单易用的mac版工具,于是就打算直接用VIM...
  • step1:使用jar tvf jar名称 | grep 目标文件名 查询出目标文件jar包中的目录 jar tvf test.jar |grep application.yml step2:使用jar xvf jar名称 目标文件名(copy上面查出的全路径) 将目标文件及所在jar包中...
  • 作者 : darcy 时间 : 2017-01-...此时便可以看到jar包内根目录下的所有文件,移动光标到需要修改文件敲回车键可以进入vim的编辑模式。 以log4j.xml文件为例: 1、输入查找命令查找文件:/log4j.xml 2、光标...
  • 解压修改后再打包 解压:jar xvf xxx.jar 打包:jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文件打包进入jar生成mainfest文件...直接修改jar中的文件 首先安装zip和unzip:
  • 在某些特殊情况下我们可能需要修改已经打包好的jar包里的配置或者替换图片文件等等,但是要修改jar包中的配置文件怎么办呢? 简单三步 解压jar包,修改后重新打包jar 1.解压 unzip TCAT.jar 1.1.移除jar包,最好先...
  • ... unzip方式解压并更新jar包 1. 解压jar到临时目录 #将test.jar解压到新目录,新目录自动命名为testTemp unzip -x test.jar -d testTemp 2. 修改指定文件(这里修改文件applicati...
  • 如何修改jar包内的源文件

    万次阅读 2018-07-19 10:06:53
    1.eclipse或idea打开我们要修改的.class文件,会帮我们自动反编译成.java     2.新建maven项目,打包方式选择为jar 3.新建(和要修改的类的同名),新建类(和要修改的类同名),将刚才打开的待修改的类的代码...
  • 重新打包(重命名)的工具,在jar包重复的情况下使用。 这里我们以 gson.jar 为例,在 gson.jar 包目录下新建一个文本文件,名字随意,例如 rule.txt,写入下面的内容。 rule com.google.gson.** ...
  • 如何修改jar包里的文件

    万次阅读 2018-07-27 16:02:32
    之前也曾遇到过修改jar包文件的问题,但是在解决之后没有把解决方法记录下来,今天有再一次遇到此类问题,在网上找到很多解决的例子,但是都是比较麻烦的。  在这里,我就以修改Tomcat中的一个jar文件为例:   ...
  • EXE4J打成jar包后无法读取到jar包内的properties文件 发现在eclipse里一切正常,但打成jar包后就无法读取到properties文件了。 之前的程序是这样获取配置文件的: Thread.currentThread().getContextClassLoader()....
  • 修改jar包里面的class文件

    千次阅读 2016-08-04 19:50:05
    需要把别人jar包里面的class修改一下信息,配置文件*.properties MANIFEST.MF 这些东西可以直接用记事本打开修改 然后替换掉就OK.. 开始我是先用jd-gui反编译 把我需要修改的那个A.class文件反编译出来把代码保存到...
  • 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或zip包下载下来,然后修改,再上传。其实Linux针对此类文件提供了相应的操作功能。 平时修改Linxu文件时使用vi或vim命令来...
  • Linux下修改jar、zip等文件内文件

    万次阅读 2017-03-08 15:09:48
    看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或zip包下载下来,然后修改,再上传。其实Linux针对此类文件提供了相应的操作功能。平时修改Linxu文件时使用vi或vim命令来修改...
  • 这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采用jar包读取外部配置文件。 案例: 项目工程名:auth -- 很明显,做鉴权使用的 项目配置文件:init.properties...
  • 情况是这样公司产品要拿去演示的时候 ,万事俱备,只欠东风啊。好的!那么我们要把东风布置好,于是就在客户现场的主机上...情况是这样的因为在部署Spring boot jar应用的时候,由于线上与测试环境的配置不同(例如数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 166,477
精华内容 66,590
关键字:

修改jar包内的文件