Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中导入包时出现问题_Java_Eclipse - Fatal编程技术网

Java 在Eclipse中导入包时出现问题

Java 在Eclipse中导入包时出现问题,java,eclipse,Java,Eclipse,我正在尝试将一些现有项目导入Eclipse。 其软件包的结构如下: Project/ /src /java /a /b /c 在package explorer中导入后,我看到: Project src/java --a --b --c - AClass.java 这是可以的,因为类

我正在尝试将一些现有项目导入Eclipse。 其软件包的结构如下:

Project/
        /src
          /java
             /a
              /b
                /c
在package explorer中导入后,我看到:

Project
  src/java
       --a
         --b
            --c
               - AClass.java
这是可以的,因为类(例如AClass.java)是在包中定义的:
a.b.c
但在一个项目中,结构(一旦导入)变成:

这会导致错误,AClass.java被定义在包
a.b.c
中,但实际上它在
java.a.b.c

为什么会这样?为什么在这个特定的项目中,java不作为包的一部分被忽略?

谢谢

您是如何创建Eclipse项目的?听起来您只需要在这里将“java”作为源路径的根,而不是“src”。当然,您可以在导入过程之后编辑生成路径来完成此操作。

调用导入语句顶部的包

例如,如果您的类位于java/main/org/goal/main.java中

然后路径是包java.main.org.goal

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


从该文件夹导入必要的包

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

然后

右键单击源文件夹。生成路径->用作源文件夹

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


使用这句话
导入java.io.*位于java文件的顶部。否则,您必须创建包文件夹

进口声明:

在Java中,如果给出了一个完全限定的名称,包括包和类名,那么编译器就可以很容易地找到源代码或类。Import语句是一种为编译器找到特定类提供正确位置的方法

例如,下面一行将要求编译器加载目录java\u installation/java/io中的所有可用类:


导入java.io.*

@JonSkeet:我如何将Java作为路线?我看不出如何通过“生成路径”对话框实现这一点。如果我编辑将
src/java放在java构建路径->Source
中,我已经得到错误“foldersrc\java”exists@user384706:您可能需要先将“src”作为根删除,但在“源”选项卡下,您应该可以单击“添加”,然后浏览到正确的位置。我现在还没有Eclipse,所以我不能给出确切的细节,但是构建路径对话框是修补的正确地方。@Jon Skeet你说得对@用户384706您可能需要创建一个源目录,比如src1,并链接source。我在build bath的source选项卡中删除了src,现在创建了
java/java
。更糟糕的是,我删除了这个项目,重新导入它,但eclipse并没有从原始项目中看到src\java,而是看到了java\java。这是怎么解决的?@user384706:你说的“现在创建了java/java”是什么意思?您根本不需要自己创建任何目录。在“配置构建路径”下,单击“源代码”选项卡,然后单击“添加文件夹…”,这将允许您浏览到现有的src/java文件夹。不是向下投票,但我认为您错了。Java项目结构,特别是Maven驱动的项目结构,具有从“/Java/main”开始的类路径。应用程序代码位于
main
下,课程从那里开始。因此,
java.main.org.goal.*
是错误的,它应该是
org.goal.*
@fatih:“似乎您的设置指向源文件夹So src的父文件夹”。这些设置是如何配置/更改的?项目属性->生成路径->源选项卡或消息中描述的类似内容above@fatih:这些不会影响项目的文件系统,对吗?不,它只是IDE的配置。不会更改目录结构。(将向root添加一个新的.settings文件夹,该文件夹将保存这些设置)@fatih:我明白了。是否将删除我导入的项目的旧.settings文件夹?
Project
  src
     --java
        --a
          --b
            --c
              - AClass.java