Соглашение об именовании JAR для Java
Я прочитал в Sun официальную документацию (или онлайн-руководство Sun) о точечном именовании jar-архивов. Было ли когда-нибудь рекомендовано назвать артефакты jar как com.company.project.smallestdistributable.jar?
1 ответ
Обычно это происходит время от времени, потому что соглашение об именовании с точками может имитировать пространство имен в системе, которая на самом деле не обрабатывает пространства имен.
В вашем случае вы будете имитировать пространство имен "com.company.project" в файловой системе с разрешением "smalllestdistributable.jar".
Ни одна документация по Java, которую я когда-либо читал (примерно с версии 1.2), никогда не предлагала использовать такую систему именования для файлов JAR. Хотя нельзя точно знать, почему это никогда не рекомендовалось, можно догадаться. Более ранние системы не рассматривали расширение с точками как просто часть имени, но иногда рассматривали их как классификатор. В самых ранних системах имена и классификаторы имели очень жесткие ограничения на количество разрешенных символов, и только шаблон [ИМЯ].[КЛАССИФИКАТОР] был разрешен файловой системой. Файл JAR (кстати, он состоит из 3 символов, потому что если вы хотите, чтобы имена файлов были переносимыми, это самый длинный классификатор, доступный в файловой системе с самыми короткими классификаторами), который содержал дополнительный период, нарушил бы понимание файловой системы, поэтому
com.company.project.smallestdistributable.jar
будет рассматриваться как
file: com
extension: company.project.smallestdistributable.jar
за исключением того, что на самом деле это не получится так далеко, потому что расширения не могут иметь расширения.
Я видел несколько новых проектов, которые не касаются [8].[3] Соглашения об именах добавляют пространство имен к имени файла jar, но, похоже, это новая идея, а не то, что было явно продвинуто за пределами этих областей разработки.