2013-10-11 2 views
6

Ich bin mit Java und wenn ich versuche, ein Array in eine CSV-Datei zu schreiben, stieß ich auf die folgenden Fehler:Java - entityExpansionLimit. Wo stelle ich das ein?

The parser has encountered more than "64,000" entity expansions

ich gesucht und gefunden, dass ich entityExpansionLimit verwenden, um dies in Java-Befehl, indem Sie zu lösen Zeile: -DentityExpansionLimit=100000

Aber neu in Java und diese Art von Dingen zu sein, verstehe ich nicht, wo ich diesen Befehl eingeben soll. Ich habe versucht, das in der Eingabeaufforderung eingeben, aber nichts passierte

Kann mir jemand helfen? Soll ich zu einem bestimmten Ordner in der Eingabeaufforderung navigieren?

+0

den Code anzeigen Bitte, die diesen Fehler gibt. Wahrscheinlich haben Sie eine rekursive Substitution; Ich wäre überrascht, wenn Sie wirklich 64000 Erweiterungen in einer Zeile hätten. Im Allgemeinen wird von Ihnen erwartet, dass Sie den Code zeigen, der das Problem verursacht. Bitte lies die [FAQ] und [Fragen]. –

+0

Er versucht tatsächlich, einen bekannten Fehler im JDK zu umgehen: https://bugs.openjdk.java.net/browse/JDK-8028111 – mckamey

+0

Häufiges Problem. Wir haben das schon vorher getroffen. –

Antwort

4

Mit der Option -D können Sie eine Systemeigenschaft an die jvm übergeben (siehe here). wenn

Zum Beispiel führen Sie Ihre Anwendung mit

cmd> java -Dfoo=bar MyMainClass 

dann Sie es in Ihrer Anwendung abrufen können dies die System#getProperty(String key) wie:

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

In die Bibliothek Fall, dass Sie verwenden, ist erwartet, eine Systemeigenschaft mit dem Namen entityExpansionLimit zu finden, wenn "Entity Expanions" den Wert 64.000 überschritten hat, aber es findet es nicht, dh System.getProperty("entityExpansionLimit") gibt null zurück.

Um dieses Argument führen Sie Anwendung übergeben von der JVM vorbei, die Systemeigenschaft

cmd> java -DentityExpansionLimit=100000 -cp <your-class-path> YourMainClass 
+0

von "MyMainClass" beziehen Sie sich auf meine Java-Datei mit main() innerhalb? – user2741620

+0

@ user2741620 Ja, einschließlich des Paketnamens! – A4L