如何为包名添加前缀?

问题描述:

我有45个java包,我已经导入到Eclipse的src文件夹中。每个课程都有一个特定的名称,并包含大量的java文件。问题在于包的类中的import语句都引用了各种包(包括package行中的它们本身),并带有初始前缀名称。如何为包名添加前缀?

因此,举例来说,如果包名是 snowman.image 内启动java文件与abc.snowman.image 和引用命名snowball.hitabc.snowball.hit另一个包。不用说,Eclipse会抱怨代码中引用的这些包不存在。

我在想我一定是做错了什么。我是否错误地导入了软件包?我可以更改某些属性,以便在包名之前理解前缀。我宁愿不通过数百个java文件并手动更改packageimport名称。

+2

您的'src'文件夹中的目录必须镜像您的软件包名称。 'package abc.snowman.image'的文件必须在'src/abc/snowman/image'中。确切的路径取决于你的项目结构,但从'abc'开始的部分是给定的 – toniedzwiedz

首先您需要确保项目配置是正确的。右键单击该项目,然后转到“属性”,然后在左侧的树中选择“java构建路径”。切换到“源”选项卡,并确保你有“你的项目/ src”作为源文件夹。从“src”文件夹开始,您将拥有软件包名称,就像Tom对您的问题进行评论一样。

另外eclipse有一些很好的功能,比如“组织导入” - 默认快捷键ctrl + shift + o - 它会查看源文件并更新导入。这既适用于当前类的文本编辑器,也适用于整个“navigator/package explorer”视图。选定的项目。

请让你的项目的备份试图在此之前,因为它会自动将您的文件被删除不使用和添加它找到的进口当前的结构,所以你可能最终得到snowball.hit,而不是你想要的abc.snowball.hit

+0

谢谢,Grove,这非常有帮助。我按照你的建议和我抽取的软件包进行了操作(它仍然需要导入其他软件包--Apache等)来清除所有错误)。我非常感谢你的帮助! – JohnK

+0

非常感谢您的帮助,快乐的编码:) – Morfic

+2

哦,顺便说一句,如果您还不知道,可以使用Maven(http://maven.apache.org/guides/introduction/introduction-to-dependency- mechanism.html)进行依赖管理(Apache等)以及编译和构建应用程序等其他任务。 – Morfic