开发者社区 > 博文 > 外部覆盖jar包里的配置文件
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

外部覆盖jar包里的配置文件

  • 京东城市JUST团队
  • 2021-01-22
  • IP归属:未知
  • 36120浏览

在使用java -jar app.jar 形式运行jar包时,需要覆盖jar包里classpath下的配置文件,可以采用下面的命令:

$ java -Xbootclasspath/p:/usr/hdp/hadoop/conf:/usr/hdp/hbase/conf -jar app.jar
  • 1

说明:

  • -Xbootclasspath/p 和 -Xbootclasspath/a 都存在,一个是放在加载路径之前,一个是放在最后
  • 后面通过 :(unix), ;(windows) 来分隔多个目录

根据文档介绍:https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_7.0.0/com.ibm.java.aix.70.doc/diag/appendixes/cmdline/Xbootclasspathp.html

-Xbootclasspath/p:<目录以及压缩或 Java 归档文件,用 : 分隔(在 Windows 上用 ; 分隔)>
将指定目录、压缩文件或 Java™ 归档文件的前缀附加到引导程序类路径的开头。请勿部署使用 -Xbootclasspath: 或 -Xbootclasspath/p: 选项的应用程序来覆盖标准 API 中的类。原因是此类部署会违反 Java2 运行时环境二进制代码许可证。缺省行为是在内部 VM 目录和 .jar 文件中搜索引导程序类和资源。

-Xbootclasspath/a:<目录以及压缩或 Java 归档文件,用 : 分隔(在 Windows 上用 ; 分隔)>
将指定的目录、压缩文件或 .jar 文件附加至引导程序类路径的结尾。缺省行为是在内部 VM 目录和 .jar 文件中搜索引导程序类和资源。

共0条评论