Файлы Java в файле jar

#java #file #jar

Вопрос:

Есть ли техническая причина отсутствия исходных файлов java в файле jar? Я наткнулся на банку службы, в которой были как банки классов, так и исходные файлы java в одной и той же банке. Типичные сторонние библиотеки объединяют эти различные типы файлов в отдельные банки. Двоичный файл необходим для выполнения, и src.jar файл полезен для отладки с использованием точного кода, с помощью которого были созданы файлы классов.

Для меня причина такова: это замедляет запуск сервера, потому что дополнительные файлы необходимо распаковать и, возможно, проиндексировать. Есть ли какие-либо другие причины, по которым я могу выступить за отказ от этого одноразового процесса сборки?

Пожалуйста, не отвечайте, что файлы jar по сути являются zip-файлами, и все идет своим чередом, я ищу технические причины во время выполнения, чтобы избежать этой ситуации. Кстати, сервисы, использующие эти банки, работают уже давно, поэтому они не проявляют никаких реальных воспринимаемых дефектов.

Ответ №1:

Наличие исходных файлов в JAR с файлами двоичного класса не должно вызывать никаких проблем. Основная причина их разделения заключается в том, чтобы не делать банки больше, чем необходимо для развертывания во время выполнения. Насколько я знаю, соглашение о распространении -sources файла JAR для библиотек с открытым исходным кодом было разработано Maven, который по умолчанию будет создавать артефакты таким образом.