EAR (myear.ear) ファイルをパッケージ化し、JBoss EAP 6 (つまり、JBoss 7 :)) にデプロイしました。次のようになります。
lib/
my-common.jar (Custom library containing common classes used by both the WAR and BIZ)
--- (other libraries used by both WAR and BIZ) ---
META-INF/
jboss-deployment-structure.xml (specifies just <ear-subdeployments-isolated>false</ear-subdeployments-isolated> )
my-biz.jar (EJB Module)
META-INF/
beans.xml
MANIFEST.MF
-- java classes --
my-war.war (WAR Module)
WEB-INF/
beans.xml
lib/ (empty! I made a skinny war)
META-INF/
MANIFEST.MF
resources/
-- java classes --
my-war.war
のクラスからメソッドを呼び出すクラスがありmy-common.jar
ます。何が起こるかは次のとおりです。
public class MyWarMember implements Serializable{//my-war.war
public void foo(){
MyCommonMember.deepCopy(this);
}
}
---------------------------------------------------------------------
public class MyCommonMember{//my-common.jar
public static Object deepCopy(Serializable obj){
ObjectOutputStream oos .....
...
oos.writeObject(obj);
....
ObjectInputStream ois ....;
....
ois.readObject();
}
}
への呼び出しois.readObject();
は、MyWarMember に対して ClassNotFoundException をスローします。
java.lang.ClassNotFoundException: my.war.MyWarMember from [Module "deployment.myear.ear:main" from Service Module Loader]
これをどのように解決しますか?ありがとう!