【问题标题】:Problem in packages in importing in Eclipse在 Eclipse 中导入包中的问题
【发布时间】:2011-01-11 07:42:44
【问题描述】:

我正在尝试将一些现有项目导入 Eclipse。 他们的包的结构是:

Project/
        /src
          /java
             /a
              /b
                /c

在包资源管理器中导入后,我看到:

Project
  src/java
       --a
         --b
            --c
               - AClass.java

这没关系,因为课程,例如AClass.java 在包中定义:a.b.c 但在一个项目中,结构(一旦导入)变为:

Project
  src
     --java
        --a
          --b
            --c
              - AClass.java

这会导致 AClass.java 被定义在包 a.b.c 中但它实际上在 java.a.b.c 下的错误
为什么会这样?为什么在这个特定的项目中 java 作为包的一部分不被忽略?
谢谢

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    您是如何创建 Eclipse 项目的?听起来您只需将“java”作为根放在源路径上,而不是“src”。当然,您可以通过在导入过程之后编辑构建路径来做到这一点。

    【讨论】:

    • @JonSkeet:如何将 Java 作为路由?我无法通过构建路径对话框看到如何做到这一点。如果我编辑放置 src/java in Java Build Path->Source 我得到错误“文件夹 src\java”已经存在
    • @user384706:您可能需要先以根用户身份删除“src”,然后在“源”选项卡下,您应该可以单击“添加”,然后浏览到正确的位置.我现在没有 Eclipse,所以我不能提供确切的细节 - 但构建路径对话框是修补的正确位置。
    • @Jon Skeet 你是对的。 @user384706 你可能想要创建一个源目录,比如 src1,并链接源。
    • 我在 build bath 的 Source 选项卡中删除了 src,现在创建了 java/java。更糟糕的是我删除了项目,重新导入它,但 Eclipse 没有从原始项目中看到 src\java,但看到了 java\java。如何解决这个问题?
    • @user384706:“现在创建了 java/java”是什么意思?您根本不需要自己创建任何目录。在“配置构建路径”下,单击“源”选项卡,然后单击“添加文件夹...”这应该可以让您浏览到 existing src/java 文件夹。
    【解决方案2】:

    首先删除现有的源文件夹。 -右键单击->菜单->构建路径->从构建路径中删除

    然后

    右键单击源文件夹。构建路径 -> 用作源文件夹。

    似乎您的设置指向源文件夹的父文件夹,因此 src 被 eclipse 识别为包。

    Wrong package name when using automatically added imports in Eclipse

    【讨论】:

    • @fatih:"好像您的设置指向源文件夹的父文件夹,所以 src"。这些设置是如何配置/更改的?
    • 项目属性 -> 构建路径 -> 源选项卡或上面消息中描述的类似
    • @fatih:这些不会影响项目的文件系统吧?
    • 不,它只是您的 IDE 的配置。不改变目录结构。 (将向根目录添加一个新的 .settings 文件夹,将这些设置保存在其中)
    • @fatih:我明白了。我导入的项目的旧 .settings 文件夹会被删除吗?
    【解决方案3】:

    在导入语句的顶部调用包,

    如果你的课程在 java/main/org/goal/Main.java 中

    那么路径就是包java.main.org.goal;

    否则按 Ctrl +1 会提示一些快速帮助

    从中导入必要的包

    【讨论】:

    • 不反对,但我认为你错了。 Java 项目结构,特别是 Maven 驱动的,类路径从“/java/main”开始。应用程序代码位于main 下,课程从那里开始。所以,java.main.org.goal.*错了,应该是org.goal.*
    【解决方案4】:

    在java文件的顶部使用这句话import java.io.*;。否则,您必须创建包文件夹。

    导入语句:

    在 Java 中,如果给出包含包和类名的完全限定名,那么编译器可以轻松找到源代码或类。 Import 语句是一种为编译器提供正确位置以找到特定类的方法。

    例如,以下行将要求编译器加载目录 java_installation/java/io 中所有可用的类:

    import java.io.*;

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 2018-08-15
      • 2011-11-21
      • 2023-03-16
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      • 2019-10-03
      • 2010-10-25
      相关资源
      最近更新 更多