首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XML错误":1:1: prolog中不允许内容“从jar运行--但在Eclipse中是可以的。为什么?

XML错误":1:1: prolog中不允许内容“从jar运行--但在Eclipse中是可以的。为什么?
EN

Stack Overflow用户
提问于 2018-02-07 23:37:48
回答 1查看 458关注 0票数 0

我周而复始地寻找这种奇怪的情况。我尝试过各种建议,大多与BOM问题有关,但在从Eclipse导出的可执行jar文件中运行时,我仍然会得到这个“类似BOM”的错误。在Eclipse中运行代码时,我不会得到错误。该平台为Windows 2012r2

实际的解析是在一个Groovy类中使用XmlSlurper完成的,它的输入是从Java传递的一个XmlSlurper。我假设问题在创建字符串的Java代码中。

当我在Eclipse中运行第一个测试时,我得到了这个错误。最后,我检查了np++中的编码(用于编辑文件,而不是创建它),它写着"UTF-8 + BOM“。我把它改成了"UTF-8“,而不是回忆几年前处理BOMs的事情。解决了问题。

当我将Eclipse项目导出到一个可执行的jar文件时,我会从同一个xml文件中得到“Content不允许”解析异常(好的,它被复制到另一个文件夹)。

我尝试过使用Apache BOMInputStream从文件中包装InputStream (这在过去对我来说是有效的)。这次没有。(BomInputStream) #getBOM()的结果是假的。但是,当我将编码设置为"UTF-8 + BOM“时,这也是错误的!(在Eclipse和jar中运行)

如果是相关的话,Groovy代码的开始是:

代码语言:javascript
运行
复制
def ClientConfig parse (String clientConfigXML) {
  def config = new XmlSlurper(false, false).parseText(clientConfigXML);

我很高兴能有人帮忙。我还没有包含Java代码,因为它是您在问答中为本主题找到的常见内容,而且它现在充斥着注释性的代码。该睡觉了..。

向你问好,约翰

[答覆:

如果您试图解析以注释开头的.properties文件,并认为它是xml,则会得到".1:1:.1:1不允许内容.“来自xml解析器的错误。那是因为我粗心。感谢下面的提示,让我检查了这个基本事实。

从中得到的好处是,我的代码现在是BOM的。我将继续使用BOMInputStream -消除了一些技术债务。]

EN

回答 1

Stack Overflow用户

发布于 2018-08-12 08:51:35

我在启动jar文件的.bat文件中更改了.bat参数的值(用于“属性”文件)。它仍然指的是一个.properties文件,我用一个XML文件代替了这个文件。当您读取应该是XML文件的内容时,会出现此错误,但实际上,它是一个属性文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48675142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档