如何覆盖 jre/lib 文件夹中存在的默认 jar

Posted

技术标签:

【中文标题】如何覆盖 jre/lib 文件夹中存在的默认 jar【英文标题】:How to override default jar present inside jre/lib folder 【发布时间】:2021-02-17 10:10:57 【问题描述】:

open jdk Charset.jar 存在于我的 jre/lib 文件夹中...但我想改用 ibm 的 charset.jar,因为它支持更多字符集。

直接从 lib 目录替换文件对我来说效果很好。 我们是否有任何替代方法可以覆盖 jre lib 中的默认 jar

IDE:日食 JDK:1.8

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

您可以使用以下 VM 选项将替换文件添加到引导类路径的开头(示例适用于 Windows):

-Xbootclasspath/p:C:\path\to\other\charset.jar

例如如果您将代码打包到 myapp.jar 文件中,并将 IBM 版本重命名为 ibm_charset.jar 并将两个文件都放在当前目录中,您将运行:

java -Xbootclasspath/p:ibm_charset.jar -jar myapp.jar

【讨论】:

尝试了第一个选项,现在工作正常...谢谢@Andreas

以上是关于如何覆盖 jre/lib 文件夹中存在的默认 jar的主要内容,如果未能解决你的问题,请参考以下文章

聊聊openjdk的jvm.cfg文件

解决tomcat在Linux下启动缓慢问题

错误: 必须限制口令文件读取访问: /usr/local/jdk1.6/jre/lib/management/snmp.acl

tomcat在linux中启动慢的解决方案

tomcat在linux中启动慢的解决方案

程序包sun.jdbc.odbc不存在