Как *действительно* обеспечить уникальность имен моих пакетов Java?

Стандартный способ избежать конфликтов имен пакетов в Java — использовать соглашение об обратном домене com.[mycompany].[остальные- имя-пакета]. Это прекрасно работает... если вы владеете доменом [mycompany].com.

Тем не менее, есть несколько отдельных разработчиков (или студентов), которые:

  • Не имеют (или не могут себе позволить) собственный домен.
  • Все еще придумывают имена пакетов, надеясь, что они будут уникальными.

Это само по себе создает возможности для конфликтов пакетов.

Кроме того, предположим, что я владею [mycompany].com. Что мешает разработчику создать библиотеку с таким же префиксом пакета, как у меня, и распространять ее? Насколько я знаю, нет никаких юридических обязательств в отношении имен пакетов («вы ДОЛЖНЫ владеть доменом, который вы использовали в своем пакете Java»). Не говоря уже о том, что это действие со стороны разработчика может быть непреднамеренным (сколько из нас прочесывает Интернет в поисках несуществующего доменного имени, прежде чем назвать свои пакеты?).

Более того, даже если я владею доменным именем, оно может подходить или не подходить для использования в качестве имени пакета (мое доменное имя может содержать дефисы или оно может быть настолько длинным, что, хотя это допустимое имя пакета, это все еще может сделать его непрактичным).

Итак, мой вопрос: как сделать имя моего пакета Java уникальным?

7
задан curioustechizen 22 May 2012 в 13:50
поделиться