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