2011-11-30 67 views
0

让我们假设我有这样的类:文件层次VS包层次的IDE(Eclipse中)

融为一体。 stackoverflow。Hierarchy;

类A {}

是位于〜/ MyProject的/ src目录/ COM /层次

这有可能避免编译错误的IDE为A级(如 *申报包 “融为一体。计算器 .hierarchy” 不符合预期的包 “com.hierarchy” *)

我试图在Java Build Path属性项目属性中搜索一些答案。但我失败了。也许有些人可以帮助这个工作人员?

+0

你能解释_为什么你想这样做? – Gray

+0

@Gray呃...我已经动态开发了从.NET移植到Java的项目。所以有些事情在Java最佳实践中出了问题。项目使用Ant进行编译。但我想通过Eclipse运行我的测试,因此我需要在Eclipse中编译它。 –

+0

没有任何理由让Eclipse为你修正软件包?将它们放入正确的目录层次结构中有问题吗? – Gray

回答

0

这是Java问题,但不是日食问题。

From 7.2.1 Storing Packages in a File System in The Java Language Specification

在这个简单的包组织, Java平台的实施将串联包名称的组件转换包名称为路径由 ,将文件名 分离器(目录指示符)在相邻组件之间。

例如,如果这个简单的组织中在UNIX系统中使用的, 其中文件名分离器/,包名:

jag.scrabble.board 

将被转化为目录名:

jag/scrabble/board 

和:

com.sun.sunsoft.DOE 

将被转化为目录名称:

com/sun/sunsoft/DOE 

你的包名称应与该文件路径名。所以,你应该从package com.stackoverflow.hierarchy改变Class A的包package com.hierarchy

或将Class A到该文件夹​​/MyProject/src/com/stackoverflow/hierarchy

+0

是的,这是显而易见的。我的回答是关于不同的事情。我问了一些关于Eclipse IDE的情况 –