maven zależności cykliczne

Mam modułowy projekt maven, w którym dwa moduły „BIZ” i „EJB” zawierają coś takiego:

//PART OF "BIZ" Module:

public interface MyInterface{

 public void foo();

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

public static MyInterface getInterfaceImplementation(){
MyInterface ret=null;
Class<? extends MyInterface> cl = null;
                try {
                    cl= (Class<? extends MyInterface>) 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();
    ....
    }

}

Jak widzicie,„EJB” zależy od „BIZ” jak to używaMyClassX (w rzeczywistości używa kilku klas BIZ). To powód dlaczegoImplFactory wykorzystuje odbicie do utworzenia instancjiInterfejsImpl. Problemem jestcl.newInstance () rzuciClassCastException ponieważ 2 moduły należą odpowiednio do WAR i JAR (moduł „EJB” jest kompilowany, podając type = „ejb” i używając wtyczki ejb maven) i używaj różnych ClassLoaders (działa na JBoss 7). Z drugiej strony,InterfejsImpl nie można przenieść do BIZ tak, jak tego potrzebujeMyEJB1 za swoją pracę, a to wprowadziłoby cykliczną zależność.

Moje pytanie brzmi: jak rozwiązać tę trudną sytuację (programowo lub poprzez zmianę konfiguracji)? Mam nadzieję że możesz mi pomóc! Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion