【问题标题】:Import class problem in EclipseEclipse中的导入类问题
【发布时间】:2011-11-21 10:17:50
【问题描述】:

我在不同的项目中有 2 个包,一个包称为 ch6,其中包含 X 类,另一个包是包含 Gamer 类的游戏,当尝试导入游戏时。在 XI 中手动导入游戏时出现错误:“导入游戏无法解决”,但是当我将鼠标悬停在错误的红线上并选择“修复项目设置..”时,会出现一个对话框,提供将类游戏的项目导入X的项目路径并且事情已经修复,为什么虽然我使用相同的语法,但我不能手动添加 game.Gamer 吗?

* 编辑 *

根据要求包括代码:

项目 ch6:

package ch6; 

abstract public class X {
    private int x = 7;
    public static final int y = 24;
} 

项目 HFJ:

package game;

public class Gamer {
    public int z;
}

【问题讨论】:

  • 请包含 X 类和 Gamer 的声明,包结构完整。另外,如果这是家庭作业,请标记它。
  • (我认为这可能与家庭作业有关,如果是通过 Eclipse 设置的测试,您应该学习算法和数据结构)。但是...您应该查看构建路径,您的项目可能不在构建路径上,在路径冲突中,“顶级”将在构建中获胜。因此,您想要的导入应该是最重要的。还有——这是一个讨厌的命名空间冲突,你应该尽力避免它。
  • 项目ch6:包ch6;抽象公共类 X { 私有 int x = 7;公共静态最终 int y = 24;项目HFJ:打包游戏;公共类玩家 { public int z;并且不,这不是作业,我尝试在 Head first Java book 中实现示例

标签: java eclipse import packages


【解决方案1】:

如果您没有使用正确的目录结构,我想您可能会看到这一点 - 如果 game.Gamer.java 没有存储为 /game/Gamer.java。

另外,如果您还没有,请尝试刷新项目(在树中选择项目,然后菜单 File..Refresh。

【讨论】:

  • 我检查了目录的结构,但我发现它是正确的,我也尝试刷新两个项目但没有任何反应
  • 啊...您是否使游戏玩家项目成为 ch6 项目的依赖项?如果没有,那是你的问题。呃......看看丹尼尔的新答案 - 同样的事情。
【解决方案2】:

如果您有两个 Eclipse 项目,它应该类似于:

[Project ch6]
  -java
  -Build Path
   ....
[Project game]
  -java
  -Build Path
  ...

导入你想要的跨项目->(你可以通过多种方式到达路径)

  [right click] ch6 -> Properties -> Build Path  
  Projects Tab -> Check [game] || (add) Project [game];

然后进行干净的构建。这应该解决导入并组合路径。

编辑:按照 Ed 的建议颠倒了顺序。

【讨论】:

  • aha ,然后在另一个项目中声明一个项目的类时,等待 eclipse 修复和解决不同项目之间的导入将不起作用?
  • @aur Eclipse 经常会找到正确的包(尤其是在干净的构建之后它可以扫描类路径),但它并不完美——尤其是当您有很多项目时。我会花时间手动进行,以便您进行故障排除。它是一个很棒的 IDE,但它有它的怪癖......
  • @Ed & Daniel : 非常感谢你的回答,希望我没有打扰你
猜你喜欢
  • 1970-01-01
  • 2011-09-15
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 2011-09-08
  • 2014-02-05
  • 1970-01-01
相关资源
最近更新 更多