Не могу использовать доменное имя .in в пакете - PullRequest
1 голос
/ 06 ноября 2019

Я попытался найти переполнение стека относительно проблемы, с которой я столкнулся, но не нашел удовлетворительного ответа. Поэтому сначала прочтите мой вопрос и предложите.

У меня есть домен .co.in, который я хочу использовать для подготовки пакетов. Но согласно новым Java-соглашениям (?) Ключевое слово «in» не может использоваться при запуске имени пакета. Следовательно, у меня возникают проблемы при создании приложений. У меня проблема при создании приложения Android с трепетом из-за формата имени пакета в .co.mydomain.myapp. Проблема сохраняется в приложениях JavaFX, где я использую спящий ORM. Когда приложение запускается в режиме отладки, я вижу HQL-запросы, сгенерированные с полностью определенными именами класса сущностей, в результате чего получается in.co.mydomain.myapp.entities.Student, здесь также ключевое слово «in» является зарезервированным ключевым словом SQL-запросов, поэтому оно выдаетошибки.

Мне нужна консультация специалиста в такой ужасной ситуации, с которой я сталкиваюсь.

Все работает без проблем, когда я переименовываю пакет в com.mydomain.myapp

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019

В некоторых случаях имя интернет-домена может быть неправильным именем пакета. Это может произойти, если имя домена содержит дефис или другой специальный символ, если имя пакета начинается с цифры или другого символа, который запрещено использовать в качестве начала имени Java, или если имя пакета содержит зарезервированное ключевое слово Java,такой как "int". В этом случае предлагаемое соглашение заключается в добавлении подчеркивания.

https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

Таким образом, вы можете использовать in_.co.mydomain

1 голос
/ 06 ноября 2019

оракул предположил, что

В некоторых случаях доменное имя в Интернете может быть неправильным именем пакета. Это может произойти, если имя домена содержит дефис или другой специальный символ, если имя пакета начинается с цифры или другого символа, который запрещено использовать в качестве начала имени Java, или если имя пакета содержит зарезервированное ключевое слово Java,такой как "int". В этом случае предлагаемое соглашение заключается в добавлении подчеркивания. Например:

enter image description here

...