【问题标题】:The package prefix is missing in directory tree -- how to handle it with Eclipse?目录树中缺少包前缀——如何用 Eclipse 处理它?
【发布时间】:2012-07-21 22:39:49
【问题描述】:

我下载了一些 Java 程序源,并尝试将它们导入 Eclipse。

假设我有一个名为“com.bar.foo.my”的包,目录设置如下:

src/bar/foo/bar/my

因此来源有其不同的目录,但缺​​少“com”级别。

问题:如何设置 Eclipse 以便它能够理解这个“快捷方式”?

更新:

在顶层,程序由这样的目录组成:

assets
bin
gen
libs
out
res
src

我向他们展示这表明它不仅仅是放在 src 中的一堆 *.java 文件。

【问题讨论】:

  • 您的 java 文件的包名是什么:bar.foo.mycom.bar.foo.my
  • 你在问我在 *.java 源文件中看到了什么? com.bar.foo.my.

标签: java eclipse directory-tree


【解决方案1】:

简单的方法是在 Eclipse 中右键单击 src 文件夹 > New > Package 并创建一个名为 com 的包。然后,您可以拖动其中的所有其他包来解决您的问题。

我向您询问src 文件夹中的包名称(我在您的问题中的评论)的原因是为了确定您的类对包结构的期望。既然以com.bar.foo.开头,那么为了让它们被Eclipse编译。

【讨论】:

  • 谢谢。我相信还有更短的方法——在src 下创建com 目录,将所有内容移到那里并启动Eclipse(需要Eclipse 来更改拖动副本的名称)。然而,这改变了项目的结构——我等待一些解决方案如何说服 Eclipse 将src 视为src/com
  • 不太确定您的问题在 Eclipse 中是否完全可能。但如果出现解决方案,我会关注这篇文章。这对我来说似乎很有趣! :)
【解决方案2】:

简单,创建一个 Java 项目,将“src”目录作为 Java 构建路径中的源文件夹(这可能是默认值),如果没有,请使用 Build Path -> Configure Build Path 查看/更改它项目菜单。

然后将它们导入您的工作区(使用 Import -> Files into workspace),然后在您的 src 文件夹下创建一个“com”包。

最后,将“bar”文件夹移动到“com”包(只需在包/项目资源管理器中拖放)。

(您不能缺少“com”文件夹,因为这违反了 Java 假设,即类加载器依赖于文件层次结构与包名完全匹配。)

【讨论】:

  • tl;dr:你不能,你的“捷径”根本无效。
  • 我是 Eclipse 的新手,但有些事情告诉我,实际上我会得到完全不同的结构。这意味着每次更新我都必须“转换”我的所有更改“回”。
  • 您应该将 Java 源代码存储在包含“com”目录的目录中,否则任何工具都无法处理它们。这只是 Java 工作方式的一部分。
  • 这不是我的项目,显然它以某种方式工作,因为我有源代码还有二进制文件。
猜你喜欢
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
相关资源
最近更新 更多