2013-10-11 28 views
6

Java kullanıyorum ve bir CSV dosyası olarak bir dizi yazmaya çalıştığınızda, aşağıdaki hatayla karşılaştı: Aranan ve ben java komutu yazarak bu çözmek için entityExpansionLimit kullanmak gerekir bulunduJava - entityExpansionLimit. Bunu nerede ayarlayabilirim?

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

satır: -DentityExpansionLimit=100000

Ama Java ve şeylerin bu tür yeni olma, anlamıyorum ben bunu komutu yazın varsayalım. Komut isteminde yazmayı denedim ama hiçbir şey olmadı

Birisi bana yardımcı olabilir mi? Komut isteminde belirli bir klasöre gitmem gerekiyor mu?

+0

bu hatayı veriyor kodunu göstermek Lütfen Jvm geçirerek size uygulamayı çalıştırmak bu iddiayı geçirin. Muhtemelen özyineli bir ikame var. Tek satırda 64000 açılımınız olsaydı şaşırırdım. Genel olarak, soruna neden olan kodu göstermeniz beklenir. Lütfen [FAQ] ve [Ask] bölümünü okuyun. –

+0

O aslında JDK bilinen bir hata etrafında çalışıyorum: https://bugs.openjdk.java.net/browse/JDK-8028111 – mckamey

+0

Yaygın sorun. Bunu daha önce de vurduk. "MyMainClass" ile –

cevap

4

-D seçeneği ile jvm (bkz. here) sistem özelliğini iletebilirsiniz. Eğer kullandığınız kütüphane harf olarak

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

geçerli:

Örneğin böyle System#getProperty(String key) kullanarak uygulamanızda alabilmesi sonra

cmd> java -Dfoo=bar MyMainClass 

ile size uygulamayı çalıştırmak eğer "varlık genişletmeleri" 64.000 değerini aştığında entityExpansionLimit adıyla bir sistem özelliği bulmayı beklerken, ancak bulamıyor, yani System.getProperty("entityExpansionLimit"), null değerini döndürüyor.

sistem özelliği

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

java dosya içinde main() içinde başvuruyorsunuz? – user2741620

+0

@ user2741620 Evet, paket adı da dahil olmak üzere! – A4L

İlgili konular