Официальное предложение для имен пакетов Java - использовать перевернутую версию доменного имени, связанного с проектом (предпочтительно то, на котором будет распространяться проект).
Что произойдет, если (по какой-либо причине) владельцы проекта больше не владеют доменным именем, но по-прежнему владеют проектом? Домен и, следовательно, право на имя пакета обратного домена теперь принадлежит кому-то другому, значит ли это, что имена пакетов должны быть изменены, и если да, то как?
Для тех, кто не может представить себе ситуацию, в которой группа программистов теряет доменное имя, которое они использовали для хостинга, вот несколько примеров таких ситуаций:
- Владельцы могут больше не иметь возможности позволить себе домен, и им, возможно, придется переключиться на более дешевый домен или использовать бесплатный домен / службу распространения.
- Им может быть предложено много денег за домен от компании, которая отчаянно хочет его по какой-либо причине.
- Владельцам проектов могут быть предъявлены обвинения в сквоттинге доменов, независимо от того, был ли этот сквоттинг преднамеренным.
Я понимаю, что это все еще маловероятные обстоятельства, но они возможны, и этот вопрос намеренно гипотетический.
Ответ 1 · рейтинг 3 · xpa1492
Соглашение / предложения по именованию пакетов - это просто практический способ сделать полные имена классов уникальными и, таким образом, избежать возможных конфликтов между различными библиотеками. Если все следовали соглашению и вы использовали свое собственное доменное имя, то маловероятно, что кто-то другой назвал класс так же, как вы (поскольку он не владеет доменом).
Практически, даже если вы потеряете свой домен, шансы, что вселенная всех пользователей вашей старой библиотеки и вселенная всех пользователей возможного будущего владельца домена, который будет писать код Java, все равно невероятно малы :)
Ответ 2 · рейтинг -2 · G Bisconcini
Если для выпуска программы вы используете домен компании: выпуск выпускает компания (а не вы).
Если по какой-то причине: вы продаете эту компанию; вы продаете домен; вы делаете что угодно: релиз все еще находится в ведении компании.
Если вы должны выпустить новый выпуск в новой компании: вы проводите рефакторинг в своем коде (меняя имя пакета) и делаете выпуск. Центральный репозиторий (maven) проверяет, являетесь ли вы владельцем домена, на котором был выпущен релиз. Ожидается, что вы являетесь "владельцем" (или уполномоченным лицом) домена: в конце концов; компания делает релиз. Это требование для выпуска в рамках центрального репозитория maven здесь, и это хорошее поведение, которому следует следовать.