代码之家  ›  专栏  ›  技术社区  ›  hd42

哪些应用服务器支持战争中的多版本jar(如果有的话)?

  •  1
  • hd42  · 技术社区  · 6 年前

    因为java9有多版本jar( MRJARS )允许不同Java版本的不同类包含在一个JAR文件中。当一个运行在Java 11上的Wildfly 14在一个包含在WAR中的JAR中执行Java-8代码时,我很惊讶,尽管这个JAR是一个包含Java 11代码的MRJAR。作为常规Java SE项目的依赖项包含的JAR根据运行的JRE运行不同的代码,但是当包含在WAR中时,Java-11代码似乎被忽略了。

    Wildfly documentation 正确地说,wara的所有内容都是由同一个类加载器(根据我的调试器,org.jboss.modules.ModuleClassLoader)加载的,所以这个类加载器可能没有正确地读取包含的jar?

    1 回复  |  直到 6 年前
        1
  •  0
  •   hd42    6 年前

    嗯,我的错误报告导致了一个修复,所以现在Wildfly在部署的战争中确实支持MRJARs:)