Я только начинаю изучать Java SE, и у меня нет проблем с обычным соглашением Java для имен пакетов, например. com.example.library_name_here.package_name_here
За исключением.
Я заметил несоблюдение этого требования в некоторых довольно известных пакетах.
- JLine :
jline.*
- JACOB :
com.jacob.*
(jacob.com не существует)
- JNA :
com.sun.jna.*
(заявление об отказе на сайте гласит ПРИМЕЧАНИЕ: Sun не спонсирует этот проект, хотя имя пакета (com.sun.jna) может подразумевать иное.)
Так что мне интересно, есть ли случаи, когда обычное соглашение об обратном доменном имени нарушается, и есть хорошие способы обойти это? Единственные случаи, о которых я могу думать, связаны с проблемами владения доменными именами (например, вы меняете хостинг проекта / доменное имя, или уже существует хорошо известный пакет, имеющий «права скваттера» на ваш домен, или ваше право собственности на домен работает и кто-то другой его снимает).
edit: если я использую доменное имя моей компании, а мы выкуплены или у нас есть дополнительный доход, что нам делать с именами пакетов? оставить их такими же или переименовать? (Я полагаю, что переименование плохо с точки зрения того, что скомпилированные классы, ссылающиеся на пакет, затем теряют)