【发布时间】:2019-06-13 14:48:58
【问题描述】:
编辑:让我从我的原始帖子中取出一个句子并将其放在顶部以粗体显示,这样就不会被标记为重复:
我了解“com”的由来(Sun 将其设置为反向使用您的 TLD 等的约定,因此您有一个唯一的包名称),此时我想知道的是普通按照惯例,没有 TLD 可言的独立开发者仍然希望创建一个封装的顶级
com文件夹只是以满足该约定。
例如,我目前将我的 java 文件包含在一个名为 JavaProject 的目录中。我想这也使当前的包名称JavaProject。除了看起来“正常”之外,我是否需要将JavaProject 目录放在父com 目录中?据我所知,它似乎没有任何实际用途。我错了吗?
请注意,我现在没有使用像 Eclipse 这样的 IDE,我只是在使用文本编辑器和命令行并手动创建我的文件和包。
【问题讨论】:
-
注意:(常规)目录结构遵循包名,而不是相反。包名来自 Java 源文件中的
package语句,与源文件位置无关。 -
@JohnBollinger 谢谢你提出这个问题,我真的很想知道这一点。但这不等于同一件事吗?您仍然希望有一个与包名称匹配的目录结构,不是吗?
-
@temporary_user_name,仅当您以相对于内部
package语句的常规方式布置文件时,它才等同于相同的事情。这使很多事情变得更容易,但这不是必需的。请注意,这是对“我猜这也使当前包名称为 JavaProject”的回应,因为 no,您的源代码所在的目录并不是决定哪个包里面定义的类属于。 (这也是一件好事,因为“JavaProject”是一个绝对可怕的包名——太笼统了,而且使用了非常规的大写。) -
是的,当然,理解,这只是为了我自己在我的桌面上跟踪事物。谢谢。
-
引用副本上的其中一个 cmets(恕我直言,这是重复的):“我见过人们使用他们的 GitHub 用户名作为他们的域,例如:com. guthub.pwagland.xxx [原文如此] 主要目的是获得一个唯一的名称,这样您就不必更改它,并且它永远不会与其他人选择的名称冲突。- Paul Wagland 2016 年 12 月 24 日7:19”