2012-01-13 65 views
1

我已经在这里阅读了一些关于这方面的问题,但是我的答案并未取得成功。这里的问题是:
Eclipse混淆软件包成为一个文件夹

  • 套餐:com.me.a
    • 文件夹(以上包下):B
      • Java类(在上述文件夹):Myclass.java

正确封装结构是com.me.ab,但电化学发光免疫法pse认为'b'是一个文件夹。当我右键点击b并转到build-source时,有一个选项显示“用作源文件夹”,然后执行一些完全不需要的操作 - 创建一个包含整个程序包路径的单独文件夹作为源文件夹,并使用默认包:

  • 文件夹:com.me.ab
    • 套餐:默认包
      • MyClass.java

我该如何解决这个烦人的问题? PS:我无法使用图像来给出一个更好的主意,但在这里是新的,有一个限制。

+0

在Myclass.java的源代码中包含com.me.a.b? – Danny 2012-01-13 20:17:35

+0

包含“com”的文件夹是否已被设置为源文件夹? – BenjaminLinus 2012-01-13 20:23:01

+0

Danny - 是的,Myclass.java的包声明为com.me.a.b – SoltanG 2012-01-13 22:46:38

回答

1

这很奇怪。软件包基本上是文件夹,所以说你有com.me.a软件包和一个名为b的文件夹,基本上和com.me.a.b一样。 或者这个特定项目的Eclipse工作区元数据有问题吗? 尝试使用此类包和类创建新项目,看看它是否有任何不同?

您在选择“b”作为源文件夹时描述的行为是预期的:您基本上在告诉eclipse此文件夹b是源文件夹,用于源java文件的根文件夹。这是默认包,这个的每个子文件夹被认为是一个不同的java包...

+0

你是对的,在选择“b”作为源文件夹时,它下面的文件以默认包的形式出现。 – SoltanG 2012-01-13 23:05:27

+0

好像Eclipse已经搞乱了关于这个特定文件的元数据,我猜svn误导了它。我试图从我的本地工作区中删除这个特定的文件,刷新了eclipse,然后svn同步并再次获得这个文件。这次在刷新Eclipse时,它似乎将该文件正确放置在正确的文件夹下。感谢您关于元数据的指示是正确的。 – SoltanG 2012-01-17 18:13:55

1

你有project/com/me/a/b设置为源文件夹。你的构建路径看起来像这样。 enter image description here

您需要设置project作为源文件夹。之后你的构建路径将看起来像这样。 enter image description here

+0

谢谢。但我的项目有适当的根文件夹作为源(src/main/java)。这个问题似乎是由eclipse引起的,它可能是由svn引起的关于该特定文件的元数据。 – SoltanG 2012-01-17 18:10:53