gpt4 book ai didi

java - 如何配置java在jdk 9、10和11中应使用的DNS服务器

转载 作者:行者123 更新时间:2023-12-01 19:58:39 25 4
gpt4 key购买 nike

为了进行测试,我们有一个 DNS 服务器,它将用虚拟记录进行响应。以前我们可以让java使用我们的DNS服务器(这里只是使用本地主机),方法是:

"-Dsun.net.spi.nameservice.nameservers=127.0.0.1",
"-Dsun.net.spi.nameservice.provider.1=dns,sun",

这在 jdk11 下不再有效。jdk11下可以指定使用的DNS服务器吗?如果是这样怎么办?

编辑:我也尝试过:

-Djava.naming.provider.url=dns://127.0.0.1

来自 https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsContextFactory.java但这也不起作用。

最佳答案

已经不支持定义备用 DNS 服务器:https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8134577

为了进行测试,您应该使用可以由 -Djdk.net.hosts.file=path_to_alternative_hosts_file JVM 选项定义的替代主机文件。

例如,如果您在 D:\test\hosts 处有一个包含以下内容的文件

10.20.30.40        google.com www.google.com

使用-Djdk.net.hosts.file=D://test/hosts运行此代码

    public static void main(String[] args) throws UnknownHostException {
InetAddress address = InetAddress.getByName("google.com");
System.out.println(address);
}

将打印:

google.com/10.20.30.40

关于java - 如何配置java在jdk 9、10和11中应使用的DNS服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55446389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com