This parser does not support specification "null" version "null"

今天在eclipse里面运行M/R的时候报这个错

12/09/22 12:17:53 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@55571e:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"

java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1054)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1030)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:980)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:405)
at org.apache.hadoop.conf.Configuration.setBoolean(Configuration.java:585)
at org.apache.hadoop.util.GenericOptionsParser.processGeneralOptions(GenericOptionsParser.java:290)
at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions(GenericOptionsParser.java:375)
at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:153)
at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:138)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:59)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)

at com.test.analyzer.hdfs.MobilePhoneTypeCount.main(MobilePhoneTypeCount.java:155)

产生原因:xerces.jar or xercesImpl.jar的版本不兼容导致引发Application冲突. 
    解决办法:将classpath中的xerces.jar or xercesImpl.jar remove.

在 Gmsh 中遇到“parser not compiled in this version”提示时,通常意味着当前安装的 Gmsh 版本未启用解析器功能。Gmsh 的解析器用于执行脚本文件(.geo),如果未启用,将无法运行这些脚本。 ### 问题原因与解决方法 Gmsh 的解析器是可选编译模块,部分预编译版本可能未包含该模块。要解决此问题,需要确保使用的是支持解析器的 Gmsh 版本,并在必要时自行编译源代码以启用解析器功能。 #### 1. 确认是否为支持解析器的版本 某些 Gmsh 的官方预编译版本(如通过包管理器安装的版本)可能未启用解析器功能。可通过以下命令检查是否启用了解析器: ```bash gmsh -info ``` 在输出信息中查找是否包含 `Parser` 或 `ON` 标记。如果未启用,则需要重新安装或编译支持解析器的版本。 #### 2. 使用官方推荐的安装方式 建议从 [Gmsh 官方网站](https://gmsh.info/) 下载最新稳定版本的源代码,并按照官方文档进行编译和安装。确保在 CMake 配置阶段启用解析器功能: ```bash cmake -DENABLE_PARSER=ON .. ``` 随后执行编译和安装步骤: ```bash make sudo make install ``` #### 3. 使用 Python API 替代方案 如果无法启用解析器,可考虑使用 Gmsh 的 Python API 编写建模脚本,这种方式无需依赖内置解析器[^1]。示例如下: ```python import gmsh gmsh.initialize() gmsh.model.add("t1") lc = 1e-2 gmsh.model.geo.addPoint(0, 0, 0, lc, 1) gmsh.model.geo.addPoint(1, 0, 0, lc, 2) gmsh.model.geo.addPoint(0, 1, 0, lc, 3) gmsh.model.geo.addLine(1, 2, 1) gmsh.model.geo.addLine(3, 1, 2) gmsh.model.geo.addLine(2, 3, 3) gmsh.model.geo.addCurveLoop([1, 3, 2], 1) gmsh.model.geo.addPlaneSurface([1], 1) gmsh.model.addPhysicalGroup(1, [1], 1) gmsh.model.addPhysicalGroup(2, [1], 2) gmsh.model.geo.synchronize() gmsh.mesh.generate(2) gmsh.write("t1.msh") gmsh.finalize() ``` #### 4. 检查依赖库是否完整 如果自行编译 Gmsh,确保系统中已安装所有必要的依赖库,包括 `flex` 和 `bison`,它们是构建解析器模块所必需的工具链组件。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinoyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值