2

我有两个项目,MainCore. 我有一个名为com.package.Sample(及其内容)的包和一个名为Samplepackage的类com.package。如果我将两者都包含在 中Main,我会遇到一个无法解决的错误 - 在我的实际情况下,它是Sample无法解决的类。我们有 ant 脚本可以构建并且一直有效。

但是,仔细检查每个项目的要求后,我注意到我可以将包连同它的依赖项一起com.package.Sample移入. 这门课在技术上属于里面,所以我没有移动它。这使我能够在 Eclipse 中成功构建。CoreMainSampleMain

我想知道的几件事:

  • 这在大型项目中很常见吗?
  • 这种情况的最佳方法是什么?在检查冲突之前,我认为最好的解决方案是重构Sample类。
  • 但是,如果我无法将包裹com.package.Sample移出Main. 我该怎么办?或者这是一个永远不会建立的案例?
4

2 回答 2

5

分别回答你的子弹:

  • 我不知道这在大型项目中是否常见,我认为不会。如果代码库被设计为导致名称冲突(尤其是在 Java 中,这使得解决这样的问题变得容易),那么大型项目可能永远不会变大。
  • 如果名称具有适当的描述性,我不会重构 Sample 类。但是,我会用所有小写字母命名我的包(和子包)。你暗示这是一个小项目,所以我猜你可以控制命名。在我的回忆中,我从未见过在包名中使用任何大写字母的 Java 代码(商业或开源)。由于 Java 中的约定是使用 Pascal 大小写或驼峰大小写或任何您想要调用的大小写,如果您遵循该约定,您将永远不会发生类/包名称冲突。
  • 当然会建造。很容易修复。由于您使用的是 Eclipse,您应该能够在资源管理器中右键单击包,选择“重构”,将名称更改为小写,然后就可以完成了。

祝你好运!

于 2011-08-31T00:14:43.283 回答
4

包名应该全部小写,类名应该以大写开头。遵循这种做法可确保永远不会发生像您描述的问题。

于 2011-08-31T00:24:11.217 回答