Просто чтобы прояснить, это на самом деле не вопрос безопасности, а скорее общий вопрос упаковки кода.
Jar-файлы на самом деле являются просто zip-файлами и, следовательно, могут содержать что угодно.
ByВ соглашении имя фляги, которая заканчивается на -sources
, содержит исходный код, то есть фактические .java
файлы
Файлы Jar без -sources
содержат скомпилированный байт-код Java, то есть все файлы .class
.По сути, файлы, которые вы получаете при запуске файлов .java
из соответствующего файла -sources
jar через javac
.
Вам нужны только скомпилированные файлы .class
во время выполнения.Вот почему они разделены.
Jar -sources
полезен во время разработки, чтобы вы могли проверить код, который вы вызываете.Это особенно полезно, если вы используете сторонний код, который плохо документирован.