如何在多模块设置中修补类 - Java 9

时间:2018-03-10 20:24:17

标签: java java-9 jigsaw java-module

以下是一个示例目录结构,用于修补java.basejava.logging中的类:

src
  +- java.base
     + module-info.java
     +- java
        +- lang
            +- Object.java

  +- java.logging
     + module-info.java
     +- java
        +- util
            +- logging
                +- FileHandler.java

假设Object.javaFileHandler.java都已修改。例如,在编译FileHandler.java时,它应该只使用本地修改的Object.java进行编译。

目前我在' java.base'和' java.logging'中创建了模块描述符。目录(空体)虽然我不确定这是否是正确的继续进行。

java.base / module-info.java

module java.base {
}

java.logging / module-info.java

module java.logging {
}

如果我这样做:

javac --patch-module java.base=src/java.logging -module-source-path src
-d build
  • 是否会使用修改后的Object.java来修补课程 java.logging模块目录?
  • 在我看来,声明这样的模块描述符会覆盖整个模块,而不仅仅是类,所以如何保留原始模块中的类?

如果我可以同时修补属于不同模块的几个类,那就太棒了。

0 个答案:

没有答案