在Eclipse

时间:2018-02-05 16:37:41

标签: eclipse module project java-9 jigsaw

我正在尝试使用Java 9 Jigsaw模块系统(还没有模块经验),并希望用它来封装我项目中的类,但这让人感到困惑。

根据this article,应该可以在一个项目中拥有多个模块。我在Eclipse Oxygen(支持Java 9)中创建了一个新项目,其结构与本文中所示的相同。但Eclipse一直告诉我,项目中不得有多个module-info.java

我真的不知道如何告诉Eclipse它应该使用"多模块模式"。我真的很感激不必为每个模块创建一个新项目。

这有效:

enter image description here

这不是:

enter image description here

但根据this article这样的事情应该有效:

enter image description here

如何使用Eclipse部署模块化项目?关于新的jmod扩展没什么可看的。我是否仍像以前一样将其导出为可运行的JAR文件?

请注意,我的问题是指使用IDE(没有命令行,我的意思是IDE应该是可能的,对吧?)谢谢你给我启发。

1 个答案:

答案 0 :(得分:8)

目前,Eclipse要求您为每个模块创建单独的项目(例如,因为每个模块都有自己的Java构建路径)。

要理解这个设计决策,请考虑Java模块对应于OSGi bundle / Eclipse插件,并且每个bundle /插件一直都有一个单独的项目。如果你来自Maven世界,你可能会期待更深层次的文件夹结构。但是模块是自包含的,并且将几个模块组合到一个项目中只会添加额外的文件夹级别而没有意义。但是,如果您需要其他文件夹级别,Eclipse支持嵌套项目和所谓的工作集。

计划于2019年3月20日为Eclipse 2019-03(4.11)导出模块作为图像(参见my video)。将可在模块路径(-m)上使用的模块导出为JAR 已经有效(请参阅http://www.janeriksolem.net/sparray-sparse-n-dimensional-arrays-in.html)。