циклические зависимости maven

У меня есть модульный проект Maven, в котором два модуля "БИЗ» а также "EJB» содержать что-то вроде этого:

//PART OF "BIZ" Module:

public interface MyInterface{

 public void foo();

}
............................................
public class ImplFactory{

public static MyInterface getInterfaceImplementation(){
MyInterface ret=null;
Class cl = null;
                try {
                    cl= (Class) Class.forName("InterfaceImpl");
                    ret= cl.newInstance();
                    }
                ....
                ret ret;
}
.......................................
public class MyClassX{

    public static void doSomethingX(){

    }
}

//PART OF "EJB" Module:

public class InterfaceImpl implements MyInterface
@EJB
private MyEJB1 ejb1;

public void  foo(){
    ejb1.doSomething();
}
........................................
@Stateless
public class MyEJB1{

    public void doSomething(){
    ...
    MyClassX.doSomethingX();
    ....
    }

}

Как вы видите, "EJB» зависит от "БИЗ» как он используетMyClassX (по правде говоря, он использует несколько классов BIZ). Это причина, почемуImplFactory использует отражение, чтобы создать экземплярInterfaceImpl, Проблема вcl.newInstance () броситClassCastException так как 2 модуля относятся соответственно к WAR и JAR (модуль "EJB» компилируется с указанием типа = "EJB» и используя плагин Maven EJB) и использовать различные ClassLoaders (он работает на JBoss 7). С другой стороны,InterfaceImpl не может быть перемещен в BIZ, поскольку это необходимоMyEJB1 для его работы, и это приведет к циклической зависимости.

Итак, мой вопрос: как бы вы решили эту сложную ситуацию (программно или путем изменения конфигурации)? Я надеюсь, что вы можете помочь мне! Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос