Java Eclipse、配置项目、源文件夹分离

Java Eclipse、配置项目、源文件夹分离,java,eclipse,Java,Eclipse,可能是冗长的问题 我在一个Java项目中有两个目录,它们表示(比方说)模型和视图。 这两个目录在eclipse中映射为两个源文件夹,都位于构建路径上 视图类可以使用模型类,第二个方向(模型使用视图)是不允许的) 可以这样配置Eclispe吗 示例(在IDE中,编码时): 我可以在视图逻辑中使用来自模型的aClass(可以导入类等)。 我无法在模型逻辑中使用视图中的aClass(Eclipse生成的java错误) 提前感谢:)您可以将其拆分为两个项目:模型和视图,并在它们之间添加依赖项。 我认为在

可能是冗长的问题

我在一个Java项目中有两个目录,它们表示(比方说)模型和视图。 这两个目录在eclipse中映射为两个源文件夹,都位于构建路径上

视图类可以使用模型类,第二个方向(模型使用视图)是不允许的)

可以这样配置Eclispe吗

示例(在IDE中,编码时):
我可以在视图逻辑中使用来自模型的aClass(可以导入类等)。
我无法在模型逻辑中使用视图中的aClass(Eclipse生成的java错误)


提前感谢:)

您可以将其拆分为两个项目:模型和视图,并在它们之间添加依赖项。 我认为在Eclipse的一个项目中是不可能的。
但是您可以通过JSR269编写一个简单的处理器来实现这一点(检查导入)。

您应该考虑使用默认的Java系统。这将允许您将源代码拆分为两个包(模型和视图),但将所有文件保留在同一个项目中

要防止模型类访问视图包中的任何内容,应确保视图包中的所有类都具有受保护的of
(或更低)


为了确保视图可以使用模型包中的类,您应该确保模型包中的所有类(或者至少是您希望能够访问的类)都有一个公共的

,如果您计划使用
OSGi
并为视图和模型创建两个不同的项目,那么您就可以实现这一点。因此,无法访问(导入)特定项目的类,例如
ViewProject
另一种说法是
ModelProject
,除非ViewProject在
Menifest.mf
文件中将包含该类的包标记为导出包,而ModelProject将其标记为导入包。

因此可视性允许它,但IDE不允许它?解决方案是将项目一分为二,不幸的是,这是不可能的。我们有两个phsical目录,其中包含一组包,这两个目录在eclipse中都映射为源文件夹。可见性是公共的(无法切换到受保护的,因为每个源文件夹都包含许多单独的包)。我想告诉eclipse,包之间有一种特殊形式的关系,只有一个包可以使用另一个包,而不是相反的。如果我能。。。无法更改项目结构。您可以创建2个“虚拟”项目并将源文件夹(链接源…按钮)链接到它们。这可能是一个解决方案。。。如果我没有使用eclipse集成支持访问版本控制系统。