不能在包中使用.in域名

我尝试搜索堆栈溢出有关我面临的问题,但未找到满意的答案。因此,请先阅读我的问题并提出建议。

我有一个.co.in域,我想用它来准备软件包。但是,按照新的Java Conventions(?),关键字“ in”不能在包名称的开头使用。因此,我在构建应用程序时遇到问题。 由于包名称格式为in.co.mydomain.myapp,我在使用flutter构建android应用程序时遇到问题。 在我使用休眠ORM的JavaFX应用程序中,问题仍然存在。当应用程序在调试模式下运行时,我看到使用实体类的完全限定名称生成的HQL查询,生成了in.co.mydomain.myapp.entities.Student,这里的'in'关键字也是SQL查询的保留关键字,因此它抛出错误。

在我面临的如此可怕的情况下,我需要专家的建议。

当我将包重命名为com.mydomain.myapp时,整个过程都没有问题

Jasonxxxyyy 回答:不能在包中使用.in域名

  

在某些情况下,互联网域名可能不是有效的软件包名称。如果域名包含连字符或其他特殊字符,或者程序包名称以数字或其他字符开头的Java名称开头都是非法的,或者程序包名称包含保留的Java关键字,则可能会发生这种情况例如“ int”。在这种情况下,建议的约定是添加下划线。

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

因此您可以使用in_.co.mydomain

,

oracle建议,

  

在某些情况下,互联网域名可能不是有效的软件包   名称。如果域名包含连字符或其他字符,则会发生这种情况   特殊字符,如果程序包名称以数字或其他开头   非法用作Java名称开头的字符,或者   如果程序包名称包含保留的Java关键字,例如“ int”。   在这种情况下,建议的约定是添加下划线。对于   例如:

enter image description here

本文链接:https://www.f2er.com/3152916.html

大家都在问