Загрузчик сервисного модуля WildFly - ClassNotFound на jdk.incubator.http.HttpClient - PullRequest
0 голосов
/ 20 декабря 2018

Я использую WildFly15 с JDK 10 для создания приложения с новым HTTP-клиентом, и когда я объявляю jdk.incubator.httpclient в качестве единственного и единственного требования в моем модуле, он отлично работает.(Я не могу перейти к JDK11, потому что нам нужно работать в 32-разрядной версии).

Это полная командная строка в двух наборах значений (я скопировал ее из Eclipse):

Program arguments:
-mp "D:\ambientes\oboticario\itsmconn2\wildfly-15.0.0.Final\modules" org.jboss.as.standalone -b localhost --server-config=standalone-full.xml -Djboss.server.base.dir=D:\ambientes\oboticario\itsmconn2\wildfly-15.0.0.Final\standalone

VM Arguments:
"-Dprogram.name=JBossTools: WildFly 15 at localhost" -server -Xms64m -Xmx512m -Dorg.jboss.resolver.warning=true -Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true "-Dorg.jboss.boot.log.file=D:\ambientes\oboticario\itsmconn2\wildfly-15.0.0.Final\standalone\log\boot.log" "-Dlogging.configuration=file:D:\ambientes\oboticario\itsmconn2\wildfly-15.0.0.Final\standalone\configuration\logging.properties" "-Djboss.home.dir=D:\ambientes\oboticario\itsmconn2\wildfly-15.0.0.Final" -Dorg.jboss.logmanager.nocolor=true -Djboss.bind.address.management=localhost --add-modules jdk.incubator.httpclient 

Я правильно добавляю добавление --add-modules jdk.incubator.httpclient к запуску JVM.

module mymodule {
    requires jdk.incubator.httpclient;
    //requires javaee.api;
}

Однако, когда я удаляю комментарий для модуля javaee.api, добавляя его как требование, я получаю ClassNotFoundException:

module mymodule {
    requires jdk.incubator.httpclient;
    requires javaee.api;
}

Поскольку я использую HTTP Client API внутри своих EJB, может ли это быть причиной того, что javaee.api нарушает сборку?Как это исправить?

Caused by: java.lang.ClassNotFoundException: jdk.incubator.http.HttpClient from [Module "deployment.sdi.war" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    ... 18 more

Запуск Java с использованием опции --show-module-resolution подтверждает, что модуль загружен:

...
root jdk.incubator.httpclient jrt:/jdk.incubator.httpclient
...

and also after this WildFLy prints the message: WARNING: Using incubator modules: jdk.incubator.httpclient

1 Ответ

0 голосов
/ 20 декабря 2018

Это похоже на ошибку в WildFly.Мы решили использовать новую виртуальную машину с 64-битной платформой и перейти на JDK11.

...