JRebelを使用してEclipseからローカルTomcatにマルチモジュールMavenプロジェクトをデプロイしようとしています。プロジェクトには、以下の構造を有する:JRebelを使用してEclipseからWebプロジェクトをデプロイ
root [packaging: pom]
|
|--- domain [packaging: jar
|
|--- manager [packaging: jar]
|
|--- web [packaging: war]
私は3つの各モジュールでsrc/main/resources/rebel.xml
を作成しました。 Eclipse内からWebプロジェクトをTomcatに(JRebelを使用せずに)問題なく展開できます。
しかし、I change the deployment to use JRebel場合、私は次のエラーを取得:
SEVERE: Exception sending context initialized event to listener instance
of class com.web.listeners.WebAppListener
java.lang.IllegalArgumentException: Unknown entity: com.model.Role
....
....
Caused by: org.hibernate.MappingException: Unknown entity: com.model.Role
Role
は、ドメインプロジェクトから永続(JPA/Hibernateの)クラスであるが、あるWebAppListener
でそれを参照するように見えます
public class WebAppListener implements ServletContextListener, HttpSessionListener,
HttpSessionAttributeListener {
private RoleManager roleManager;
@Override
public void contextInitialized(ServletContextEvent sce) {
BeanFactory beanFactory = WebApplicationContextUtils.
getRequiredWebApplicationContext(sce.getServletContext());
this.roleManager = beanFactory.getBean(RoleManager.class);
saveIfAbsent("USER", "Normal User");
}
private void saveIfAbsent(String roleName, String roleDescription) {
if (roleManager.getRole(roleName) == null) {
Role role = new Role();
role.setName(roleName);
role.setDescription(roleDescription);
roleManager.saveRole(role);
}
}
}
このコードが実行されるとdomain
クラスがロードされていないように見え、任意のアイデアはどのようにこの問題を解決するために:エラーをトリガ?
はい、そうです。 IDE内からJRebelを実行したいので、他のトピックは関係ありません。 –