我想使用 Eclipse 来处理目录结构与包结构不完全对应的 Java 项目。
例如,包a.b.c
中的源文件位于目录x/y/c
中。叶包的名称 (c
) 始终对应于直接包含目录的名称(也是 c
),但它们的前缀可能不同 (a.b
与 x/y
)。
(我认为项目的构建系统将源文件复制到与包结构相对应的目录结构中,但我需要对原始文件进行操作,而不是复制的文件。)
当我在 Eclipse 中查看此项目中的源文件时,我看到以下形式的错误 声明的包“a.b.c”与预期的包“x.y.c”不匹配
,并且它也无法解析 import a.b.foo
形式的导入。如何告知 Eclipse 从 x/y
到 a.b
的映射并消除这些错误?
请不要建议任何涉及更改包声明或移动文件的解决方案。我也做不到。
最佳答案
这在 Java 中是不可能的,运行时系统总是寻找 a/b/c 作为包 a.b.c 中特定类的目录结构。请参阅http://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html#jls-7.4
关于java - Eclipse java项目其中目录结构!=包结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620824/