Saya telah menggunakan log4j untuk beberapa waktu sekarang dan saya biasanya menggunakan ini di bagian atas log4j.xml (mungkin seperti banyak orang lain dan menurut Google ini adalah yang cara untuk melakukannya):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Jelas ini berfungsi, namun Eclipse tidak menyediakan bantuan sensitif konteksnya untuk menulis XML dan semuanya. Selain itu, selalu muncul peringatan bahwa ia tidak menemukan file log4j.dtd
. Sekarang saya penasaran bagaimana cara memperbaikinya.
Saya mencoba beberapa hal dan pekerjaan ini:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
Seperti yang Anda lihat dari atas, kami menggunakan Maven. Karena itu, saya mencoba ini, tetapi gagal:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
Eclipse biasanya tahu bagaimana menangani variabel classpath, tapi mengapa ini tidak berhasil? Saya tahu bahwa referensi tidak akan berfungsi selama runtime, tetapi juga tidak sederhana log4j.dtd
(jika saya tidak salah), jadi itu seharusnya tidak menjadi masalah.
Adakah yang bisa menjelaskan hal ini?