#java #file #jar
Вопрос:
Есть ли техническая причина отсутствия исходных файлов java в файле jar? Я наткнулся на банку службы, в которой были как банки классов, так и исходные файлы java в одной и той же банке. Типичные сторонние библиотеки объединяют эти различные типы файлов в отдельные банки. Двоичный файл необходим для выполнения, и src.jar файл полезен для отладки с использованием точного кода, с помощью которого были созданы файлы классов.
Для меня причина такова: это замедляет запуск сервера, потому что дополнительные файлы необходимо распаковать и, возможно, проиндексировать. Есть ли какие-либо другие причины, по которым я могу выступить за отказ от этого одноразового процесса сборки?
Пожалуйста, не отвечайте, что файлы jar по сути являются zip-файлами, и все идет своим чередом, я ищу технические причины во время выполнения, чтобы избежать этой ситуации. Кстати, сервисы, использующие эти банки, работают уже давно, поэтому они не проявляют никаких реальных воспринимаемых дефектов.
Ответ №1:
Наличие исходных файлов в JAR с файлами двоичного класса не должно вызывать никаких проблем. Основная причина их разделения заключается в том, чтобы не делать банки больше, чем необходимо для развертывания во время выполнения. Насколько я знаю, соглашение о распространении -sources
файла JAR для библиотек с открытым исходным кодом было разработано Maven, который по умолчанию будет создавать артефакты таким образом.