Luk*_*uke 10 java dns java-9 java-11
为了进行测试,我们有一个DNS服务器,该服务器将响应虚拟记录。以前,我们可以通过以下方式使java使用我们的DNS服务器(此处仅使用本地主机):
"-Dsun.net.spi.nameservice.nameservers=127.0.0.1",
"-Dsun.net.spi.nameservice.provider.1=dns,sun",
Run Code Online (Sandbox Code Playgroud)
这在jdk11下不再起作用。是否可以指定在jdk11下使用的DNS服务器?如果可以,怎么办?
编辑:我也尝试过:
-Djava.naming.provider.url=dns://127.0.0.1
Run Code Online (Sandbox Code Playgroud)
已不支持定义备用 DNS 服务器:https : //bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8134577
对于测试,您应该使用可由-Djdk.net.hosts.file=path_to_alternative_hosts_fileJVM 选项定义的替代主机文件。
例如,如果您有一个包含以下内容的文件 D:\test\hosts
10.20.30.40 google.com www.google.com
Run Code Online (Sandbox Code Playgroud)
运行此代码 -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);
}
Run Code Online (Sandbox Code Playgroud)
将打印:
google.com/10.20.30.40
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |