DITA开放工具包错误:java.lang.StackOverflower错误

DITA开放工具包错误:java.lang.StackOverflower错误,java,dita,dita-ot,Java,Dita,Dita Ot,我正在使用转换XML内容,使其具有不同的标记名。但是我的一个XML文档没有转换 BUILD FAILED C:\DITA-OT\build.xml:55: The following error occurred while executing this line: C:\DITA-OT\build.xml:86: The following error occurred while executing this line: java.lang.StackOverflowError 此错误

我正在使用转换XML内容,使其具有不同的标记名。但是我的一个XML文档没有转换

BUILD FAILED
C:\DITA-OT\build.xml:55: The following error occurred while executing this line:

C:\DITA-OT\build.xml:86: The following error occurred while executing this line:

java.lang.StackOverflowError
此错误发生在处理完成之前。所以只有前3/4个变换。如果我删除了1/4的内容,转换就可以完成。(我可以删除任何部分,删除的越多,转换在文档中得到的距离就越远,所以我不认为它是无效的标记或类似的东西)

我是否需要更新配置,以便为Java进程提供更多资源

或者有人知道如何开始排除故障吗


谢谢

>您可以考虑通过JVM参数调整堆栈大小。在控制台/终端上键入
java-X
,查看它们的列表。在本例中,您可能最感兴趣的是更改堆栈大小:
-Xss
。例如,您可以尝试
java-Xss2048k
。如果您使用的是Linux,那么最终可能还需要使用ulimit更改操作系统线程堆栈的大小。通常,您可以通过在/etc/profile中添加类似于
ulimit-s2048的内容来实现这一点


如果这不起作用,请尝试向作者提交错误报告或与作者联系。

谢谢!您知道如何获取当前java堆栈大小吗?我在Java 1.6中运行Windows XP 32位.320k——from:“在Windows上,默认线程堆栈大小是从二进制文件(Java.exe)读取的。从Java SE 6开始,这个值在32位虚拟机中是320k,在64位虚拟机中是1024k。”好的,所以我在我的问题中弄错了一点。事实证明,引用的XML数字资源中有一个段落的文本太多,导致了错误。如果我把文本分成多个段落,转换就会进行。不知道为什么,它不像有一百万行的文字。