3

我试图关注这个问题,但它对我不起作用。我想编译 1 个模块(不需要任何其他模块或 jar)以及使用该模块并将位于未命名模块中的其他类。

javac -cp lib\* --module-path modules --add-modules simpleModule -d out @classes.txt

运行此命令后,我得到“包 org.... 不存在”。但是这个包的 jar 在 lib 目录中

lib - 包含我的库-jar 的目录

modules - 此文件夹包含带有 module-info.java 的模块“simpleModule”

@classes.txt - 要编译的所有类列表(包括模块化和非模块化)。操作系统 - Windows

当我从 simpleModule 中删除 module-info.java 时,一切都编译得很好。

4

1 回答 1

2

老问题,但我最近在使用模块和非模块 jar 进行项目时遇到了一个相关问题。根据您的示例命令行,如果您的模块位于 中,请使用以下命令行jar

javac -cp lib\*.jar -d out @classes.txt

如果模块不在 a 中jar,意味着展开的目录,这将是命令:

javac -cp mods\moduled.in.question -d out @classes.txt

我使用 JDK 11.0.1 测试了上述内容。

于 2018-12-08T19:54:43.967 回答