dom4j 解析报错java.net.UnknownHostException:java.sun.com

dom4j 解析报错java.net.UnknownHostException:java.sun.com

问题现象:

在开发中使用到了dom4j去解析一个xml格式的文件,代码中使用到了SAXReader进行转换。
在本机电脑测试运行时,没有任何问题,当放在服务器时,报错:

java.net.UnknownHostException:java.sun.com

问题代码:

SAXReader reader = new SAXReader(); 
Document doc = reader.read(f);
//获取根节点 properties
Element root = doc.getRootElement();

原因:

1、根本原因:

因为SAXReader需要下载外部的dtd文件对xml验证

2、项目原因:

因为部署的服务器不能联网

解决办法:(两种解决思路,建议使用第二种)

1、去掉xml文件中的doctype或者将doctype中指定的互联网dtd文件改为引用本地dtd文件。
doctype的在xml文件中开头位置,如下:
*根据实际情况进行修改,此处未修改 *

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

但是这种办法会需要修改xml文件,大部分实际项目这种做法并不允许

2、对dom4j的SAXReader进行设置,不去下载外部dtd文件来对xml进行验证

SAXReader reader = new SAXReader();
//以下两行代码,是对dom4j的SAXReader进行设置,不去下载外部dtd文件来对xml进行验证
//SAXReader需要下载外部的dtd文件对xml验证,当服务器不能链接外网时,会报错
//这里将验证关闭
reader.setValidation(false);
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
Document doc = reader.read(f);
//获取根节点 properties
Element root = doc.getRootElement();

参考文章

https://blog.csdn.net/youlianying/article/details/5908335
https://www.iteye.com/blog/pengfeng-819827

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 出现java.net.UnknownHostException: zmncha.com的错误通常是由于无法解析主机名zmncha.com导致的。这可能是由于网络连接问题或DNS配置错误引起的。要解决这个问题,可以尝试以下几个步骤: 1. 确保你的网络连接正常,可以尝试访问其他网站来确认。 2. 检查你的DNS配置是否正确。你可以尝试使用其他DNS服务器或者刷新你的DNS缓存。 3. 如果你在使用Spring Cloud的负载均衡功能,确保你已经正确地配置了依赖和RestTemplate。你可以在pom.xml文件中添加依赖项org.springframework.cloud:spring-cloud-starter-loadbalancer,并在配置类中使用@LoadBalanced注解来创建RestTemplate实例。 4. 如果你在使用Hadoop的DFS功能,并且出现了这个错误,你可以尝试在配置文件中添加dfs.permissions.enabled属性,并将其值设置为false。这可能会解决一些与权限相关的问题。 希望这些步骤能够帮助你解决java.net.UnknownHostException: zmncha.com的问题。如果问题仍然存在,请进一步检查你的网络和配置设置。 #### 引用[.reference_title] - *1* *2* [java.net.UnknownHostException: nacos-payment-provider] with root cause](https://blog.csdn.net/weixin_43888891/article/details/126690022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Hadoop_hdfsjava.lang.IllegalArgumentException: java.net.UnknownHostException: master](https://blog.csdn.net/T_Y_F_/article/details/127347744)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值