Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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
无法在Eclipse中使用现有Java包?_Java_Eclipse_Packages - Fatal编程技术网

无法在Eclipse中使用现有Java包?

无法在Eclipse中使用现有Java包?,java,eclipse,packages,Java,Eclipse,Packages,我从Bruce Eckel的Java思想中学习Java。在本书的早期阅读了关于软件包的内容后,我认为我已经了解了,但是当我决定使用补充代码(以单个ZIP的形式)时,我不再那么确定了 ZIP文件包含正确层次结构中的包。我也有一份拉链的摘录。我们将此文件夹称为TIJ4。ZIP和文件夹都位于我的桌面上。我正在使用一个示例Shapes.java,它有一个如下的import语句: 导入多态性.shape.*。我在项目属性>库>添加外部类文件夹中导入了此文件夹。奇怪的是,Eclipse在import行上没有

我从Bruce Eckel的Java思想中学习Java。在本书的早期阅读了关于软件包的内容后,我认为我已经了解了,但是当我决定使用补充代码(以单个ZIP的形式)时,我不再那么确定了

ZIP文件包含正确层次结构中的包。我也有一份拉链的摘录。我们将此文件夹称为TIJ4。ZIP和文件夹都位于我的桌面上。我正在使用一个示例
Shapes.java
,它有一个如下的import语句:
导入多态性.shape.*。我在项目属性>库>添加外部类文件夹中导入了此文件夹。奇怪的是,Eclipse在
import
行上没有显示错误,但它无法将名称解析为类型。我可以手动创建一个包,然后从Eclipse中创建一个类,但是没有更简单的方法吗

我一直在胡思乱想,但似乎没有人像我这样有确切的问题。以下是到目前为止我得到的信息:

1) 创建了新的Java项目。在项目中创建了类文件
Shapes.java
: 项目中的Shapes.java
:>

2) 项目属性>库>添加外部类文件夹。选择了“我的文件夹”TIJ4。请注意,
import
上的错误现在消失了。显然Eclipse已经找到了
多态性
包。 导入现在不存在了。显然Eclipse已经找到了多态性包。“>

3) 但我还是得到了
XXX无法解析为一个类型的
错误到处都是


我该怎么办?我还尝试了Project>Build Path>Add external archives并选择了ZIP,但最终还是在同一个位置

由于Zip文件只包含Java源代码,因此必须编译它们。现在,简单的方法是将它们提取到eclipse项目中的src目录中。这样,它们将被编译并自动包含在类路径中


即使导入错误消失,也无法解析类的原因是zip文件包含满足包结构的目录,但在其中找不到已编译的类(.class文件)。

将TlJ4文件夹内容添加到src文件夹并检查它(复制和粘贴)。从引用中删除TlJ4文件夹libraries@vini没有帮助。将TIJ4文件夹复制到src会导致自动创建一个包
Snippet
和一个名为Snippet.java的文件。@black\u-stallion抱歉不是文件夹,而是TlJ4文件夹中的文件夹应该复制到src文件夹。@Gutenberg这也没有帮助。@vini你是说只通过Eclipse,对吗?尝试手动复制
polymorphics
以及
polymorphics.shape
。还是不行!是的,这似乎有效。但这并没有使用Java的包特性,是吗?因为我不再需要在任何文件中导入任何内容。它只是运行良好。(事实上,Eclipse在失败的包中显示了一个错误,该包不存在)在回答您的问题之前,请告诉我src下的dir-structure-polymorphics/shapes中是否存在RandomShapeGenerator.java文件?这是否意味着,要使导入成功,您需要这些类的.class文件?是的,事实上,包含所需类的所有.java文件都在我的项目的src文件夹中。因此,我假设(正如Eclipse确认的那样)我使用的是默认包?是的。打包是将编译后的类文件组织到包(读取目录)中,以便类装入器查找和装入。这些目录可以在磁盘上,也可以压缩在jar或zip存档中。如果您查看eclipse项目的bin目录,您将看到类文件按照其包整齐地组织起来。使用“导航器”视图而不是“包资源管理器”查看目录结构。