在 Java 9 中,您可以选择将源目录打包为模块,方法是添加一个 module-info.java,它定义了它导出的事物包,以及它依赖的其他模块。
但是,一旦这样做,您必须在模块描述符中列出所有依赖项 - 并且依赖项本身必须都是模块。因此,通过扩展,如果您模块化单个源目录,则必须模块化公司范围内的每个源目录。
此外,您不能在 Java 8 或更早版本中定义模块,这意味着除了模块化每个 Java 源目录之外,您还必须将所有内容都转换为 Java 9。同时。
如果您在一家拥有大量代码并由许多不同项目共享的公司工作,这似乎是灾难性的。
现在,我可以通过设置一堆编译器标志来避免定义模块来解决这个问题,但这似乎是一个非常糟糕的解决方案。
我希望我理解不正确?