我们有许多项目使用相同和/或相似的包名称。许多或这些项目将构建供其他项目使用的 jar 文件。我们发现许多 foo.util foo.db 和 foo.exceptions 使用相同的类名导致 namespace 冲突。
有人知道有一种工具可以搜索一组 java 代码库并自动查找 namespace 冲突和不明确的导入吗?
最佳答案
在每个单独的项目中修复您的名称会更简单。
真的。
您不需要了解所有冲突。首先,您的包名称应该是唯一的。如果它们不是唯一的,您需要重新考虑如何分配包名称。如果它们是“扁平”的(foo.this
和 foo.that
),您需要使它们更高、更具体。
这就是为什么示例总是org.apache.project.component.lower.level.names
。
您应该拥有com.projectX.foo.this
和com.projectZ.foo.that
以防止重复的可能性。
“但是所有这些重新编译,”你说。无论如何你都必须这样做。不要浪费大量时间试图发现准确、完整的范围。根据您所知道的,立即开始修复问题,并通过您的代码库一次修复一件事。
关于java - 用于查找java代码中包命名空间冲突的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175437/