Я наткнулся на небольшую инфраструктуру веб-запросов для Java: Spark. API выглядит красиво и многообещающе, но сам комплект библиотек довольно странный. Не говоря уже о том, что он предлагает использовать артефакты моментальных снимков в качестве зависимостей. Не говоря уже о том, что он использует log4j для ведения журнала (в настоящее время библиотеки, как правило, используют jcl или slf4j), а иногда и System.out.println. Но он объединяет свои собственные свойства log4j.properties в spark-xxx.jar. Мне потребовался час, чтобы выяснить, почему мой проект будет жаловаться на конфигурацию log4j, когда log4j.properties определенно присутствует в моем пути к классам. -Dlog4j.debug=true дал ответ, log4j признался, что он загрузил log4j.properties из jar-файла.
Интересно, имеет ли это (быть библиотекой и использовать log4j и связывать log4j.properties) какую-то мотивацию, или это просто отстой.