7

我正在使用 Java,当我尝试将数组写入 CSV 文件时,遇到以下错误:

解析器遇到了超过“64,000”个实体扩展

我搜索并发现我需要使用 entityExpansionLimit 来解决这个问题,方法是在 java 命令行中键入:-DentityExpansionLimit=100000

但是对于 Java 和这类事情的新手,我不明白我应该在哪里输入该命令。我尝试在命令提示符下输入,但什么也没发生

有人可以指导我吗?我应该在命令提示符下导航到特定文件夹吗?

4

1 回答 1

4

使用该选项-D,您可以将系统属性传递给jvm(请参阅此处)。

例如,如果您使用

cmd> java -Dfoo=bar MyMainClass

然后您可以使用System#getProperty(String key)在您的应用程序中检索它,如下所示:

String foo = System.getProperty("foo");
System.out.println(foo); // will print bar

在您的情况下,您正在使用的库期望entityExpansionLimit在“实体扩展”超过值 64,000 时找到具有名称的系统属性,但它没有找到它,即System.getProperty("entityExpansionLimit")返回null

要传递该参数,请通过传递 jvm 系统属性来运行您的应用程序

cmd> java -DentityExpansionLimit=100000 -cp <your-class-path> YourMainClass
于 2013-10-11T17:21:06.497 回答