动态修改jar包里的配置文件|Java的jar包中数据库配置文件xml在本地环境和服务器上不同怎么方便地更改

|

『壹』 修改jar包中的配置文件

原文地址: 修改jar包中的配置文件 现有jar包 base-web.jar 查找jar包里面的文件: jar ftv ks-web-1.0.3.jar | grep pom.xml 要修改jar包中配置文件可以用下面三种方式: 方式一 通过vim命令直接修改保存jar。超方便。 通过vim命令直接编辑jar vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。 方式二 通过jar命令替换jar包中的文件(也可新增) 1.列出jar包中的文件清单 jar  tf  base-web.jar 2.提取出内部jar包的指定文件 jar  xf  base-web.jar  `jar  ft  base-web.jar | grep  t_ivr_data_bj.json` 3.然后可以修改文件 vim BOOT-INF/classes/realtime/t_ivr_data_bj.json 4.更新配置文件到内部jar包.(存在覆盖,不存在就新增) jar uf  base-web.jar  BOOT-INF/classes/realtime/t_ivr_data_bj.json       4.1更新内部jar包到jar文件 jar  uf  base-web.jar  内部jar包.jar      5.可以查看验证是否已经更改 vim base-web.jar 方式三 解压jar包,修改后重新打包jar 1.解压 unzip base-web.jar 2.移除jar包,最好备份 rm base-web.jar 3.重新打包 jar -cfM0 base-web.jar * 或者 jar -cvfm0 base-web.jar ./META-INF/MANIFEST.MF ./ 4.运行 java -jar base-web.jar jar命令参数: -c 创建新的存档 -f 指定存档文件名 -M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF -0 不进行压缩,如果压缩会有问题 -m 指定清单文件 -t 列出归档目录 -x 从档案中提取指定的 (或所有) 文件  -u 更新现有的归档文件  -v 在标准输出中生成详细输出 

『贰』 jar如何引用lib里的properties文件

读取jar包内配置文件_话阍谙钅恐惺褂_roperties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生…?_话阍谙钅恐惺褂_roperties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生成在jar包中,这样的话要修改配置文件又要重新打jar包,那是相当的麻烦。?_热徽饷绰榉常憧隙ㄏ虢渲梦募旁谄渌哪柯枷拢傻_ar包内不包含相应的配置文件,修改配置文件无需重新打包,没错,下面就是一种解决方案了。?_寥jar包内配置文件:?_nputStream in = this.getClass().getClassLoader().getResourceAsStream(“/configfilename.properties”);?_寥jar包外配置文件:?_tring filePath = System.getProperty(“user.dir”) + “/conf/configfilename.properties”;?_nputStream in = new BufferedInputStream(new FileInputStream(filePath));?_硗猓绻_pp中使用到log4j.properties文件,默认的存放路径是src/log4j.properties,同上面一样,我想把log4j.properties放在其他目录中,这样一来,在修改log4j配置文件的时候无需重新打jar包。?__ain函数第一行添加如下代码:?_ropertyConfigurator.configure(System.getProperty(“user.dir”) + “/conf/log4j.properties”);

『叁』 eclipse打包了可执行的jar文件.怎么让jar读取同级目录下的properties和xml配置文件

您好,读取jar包内配置文件:InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties"); 读取jar包外配置文件:String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties"; InputStream in = new BufferedInputStream(new FileInputStream(filePath)); 另外,如果app中使用到log4j.properties文件,默认的存放路径是src/log4j.properties,同上面一样,我想把log4j.properties放在其他目录中,这样一来,在修改log4j配置文件的时候无需重新打jar包。 在main函数第一行添加如下代码:PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.properties");

『肆』 为什么直接用好压修改配置文件就启动不了jar包

首先你看下在本地修改同一个配置文件会不会出错如果不会重新打jar包

『伍』 Java的jar包中数据库配置文件.xml在本地环境和服务器上不同,怎么方便地更改

在persistence.xml中配置两个,开发时将服务器的配置屏蔽掉,打包时将开发环境配置屏蔽掉不就方便一点

『陆』 java-uf命令使用

不通过java去修改Jar里的文件,而是用linux的Jar命令(当然也是通过java去调用linux命令),先解压缩jar包,然后将动态生成的配置文件替换解压缩包里的配置文件,最后再将目录压缩成Jar文件。

『柒』 jar解压后 如何把解压出来的文件夹 重新编译成jar

你不是只修改了一个配置文件吗?原来的那个jar文件还在吧,用winrar打开,但是别解压,直接替换你修改好的文件(找到winrar中那个文件,把你要换的文件用鼠标直接托进去替换掉)就行了,格式winrar会自动识别的,不用修改任何东西。

『捌』 jar包里面的代码如何读取jar包中的配置文件

先看代码目录结构:src/weather/QueryWeather.javaweather.xml程序里面可以直接读取到weather.xml文件,代码如下:private static String getXmlContent()throws IOException {FileReader f = new FileReader("src/weather/weather.xml");BufferedReader fb = new BufferedReader(f);StringBuffer sb = new StringBuffer("");String s = "";while((s = fb.readLine()) != null) {sb = sb.append(s);}return sb.toString();}但是一旦把这个class文件和xml文件打成jar包再运行,对不起,报错,QueryWeather.class字节码根本找不到weather.xml在看打成jar包的结构:META-INFMANIFEST.MFweatherQueryWeather.classweather.xml用下面的方法就可以找到weather.xmlprivate static String getXmlContent()throws IOException {Reader f = new InputStreamReader(QueryWeather.class.getClass().getResourceAsStream("/weather/weather.xml"));BufferedReader fb = new BufferedReader(f);StringBuffer sb = new StringBuffer("");String s = "";

『玖』 java窗体程序 打包jar后 怎么动态修改xml配置信息,请问哪位大神会啊

这种做法很不好呀,应该在窗体程序中增加一个配置文件,原包中的xml文件做为原始配置不动,窗体程序运行时可做一个菜单项“配置”,新做的配置修改保存到本地一个xml文件中,以后启动窗体程序时先检查有没有这个本地xml文件,有则从它里面读入配置,否则从类路径的jar中读取配置

『拾』 java 打包 jar 文件时 配置文件.properties 的处理

用命令: jar -cvf 归档文件名 待归档文件列表


赞 (0)