javac9+;使用META-INF/MANIFEST.MF中的自动模块名称作为模块选项

javac9+;使用META-INF/MANIFEST.MF中的自动模块名称作为模块选项,java,javac,java-9,java-module,java-platform-module-system,Java,Javac,Java 9,Java Module,Java Platform Module System,对于javac9+,是否有任何方法可以在文件系统(不在jar中)上使用META-INF/MANIFEST.MF中的自动模块名作为模块选项 e、 比如说src/main/resources/META-INF/MANIFEST.MF包含: Automatic-Module-Name: com.example.testmodule 并且src/main/java不包含模块info.java 我是否可以让javac接受,例如,以下选项 --add-reads com.example.testmodul

对于
javac
9+,是否有任何方法可以在文件系统(不在jar中)上使用
META-INF/MANIFEST.MF
中的
自动模块名
作为模块选项

e、 比如说
src/main/resources/META-INF/MANIFEST.MF
包含:

Automatic-Module-Name: com.example.testmodule
并且
src/main/java
不包含
模块info.java

我是否可以让
javac
接受,例如,以下选项

--add-reads com.example.testmodule=com.example.anothermodule
假设包含
com.example.anothermodule
的jar位于模块路径上


java
(而不是
javac
)中使用来自文件系统(非jar)的
Automatic Module Name
)的
META-INF/MANIFEST.MF
(而不是
javac
)如何?

自动模块是关于使用打包在jar文件中的现有库作为模块的。目前不支持在文件系统上分解的自动模块。在任何情况下,听起来像是在开发一些东西,您想给它一个模块名,但您还没有准备好编写module-info.java。在这种情况下,您不需要——将读取添加为自动模块读取所有其他已解析的模块。也许你只需要
——添加modules com.example.anothermodule
来确保它得到解决(因为没有模块明确要求它)。@AlanBateman我实际上使用
module info.java
,我正在编写一个Gradle插件来支持模块,并希望确保我支持所有有效的用例。是的,添加读取在这里没有多大意义,我只是想要一些在命令行上使用
自动模块名的示例,即使这不是一个非常合理的示例。谢谢你的信息。