Попытка внедрить EJB в другой, используя аннотацию @EJB: 1) Первый EJB «TestEJB» имеет два интерфейса (AdditionRemote и AdditionLocal) и реализацию класса (Addition)
2) Второй EJB«TestEJB2» имеет два интерфейса (DivisionRemote и DivisionLocal) и реализацию класса (Division)
. Вот код «TestEJB», в который я хочу вставить ссылку на TestEJB2:
@EJB
private Division d;
public Addition() {
// TODO Auto-generated constructor stub
}
@Override
public int add(int a, int b) {
return a+b;
}
@Override
public void call() {
// TODO Auto-generated method stub
d.div(4, 2);
}
Однако, когда я использую аннотацию @EJB в коде, я больше не могу развернуть TestEJB.я получаю сообщение об ошибке:
[org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) WFLYCTL0013: Operation ("full-replace-deployment") failed - address: ([]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"TestEJB.jar\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"TestEJB.jar\"
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class logic.Addition with ClassLoader ModuleClassLoader for Module \"deployment.TestEJB.jar\" from Service Module Loader
Caused by: java.lang.NoClassDefFoundError: Labsurd/Division;
Caused by: java.lang.ClassNotFoundException: absurd.Division from [Module \"deployment.TestEJB.jar\" from Service Module Loader]"}}
18: 45: 39,399 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0016: заменено развертывание «TestEJB.jar» с развертыванием «TestEJB».jar "18: 45: 39,400 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 1) WFLYCTL0183: Отчет о состоянии службы WFLYCTL0186: Службы, которые не удалось запустить: служба jboss.deployment.unit." TestEJB.jar ".POST_MODULE: WFLYSRV0153: Не удалось обработать фазу POST_MODULE развертывания "TestEJB.jar"