我在Eclipse工作区中有两个项目:'myproject-main'引用'myproject-domain'(通过将其添加到构建路径来引用它.'myproject-domain'包含我的域实体(POJO),什么都没有其他。一切都正确构建,“myproject-main”中的类对“myproject-domain”中的实体的任何引用都没问题。
问题是我在'myproject-main'中有Hibernate hbm.xml文件,它们引用了'myproject-domain'中的实体。
这是'myproject-main',以及所有其他Hibernate和Spring设置:
<class name="uk.co.luciditysoftware.myproject.domain.entities.User" table="`User`">
<id name="id" column="`Id`" type="uuid-char">
<generator class="assigned" />
</id>
<property name="firstName">
<column name="`FirstName`" length="50" not-null="true" />
</property>
<property name="lastName">
<column name="`LastName`" length="50" not-null="true" />
</property>
</class>
和'myproject-domain'中的这个类:
package uk.co.luciditysoftware.myproject.domain.entities;
import java.util.UUID;
public class User {
private UUID id;
private String firstName;
private String lastName;
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
如果我将用户实体包含在'myproject-main'项目中,一切都按预期工作,所以我的Hibernate / Spring设置没有任何问题,只是在引用项目中找到User实体时遇到问题
启动项目时提出的预期堆栈
java.lang.ClassNotFoundException: uk.co.luciditysoftware.myproject.domain.entities.User
在底部
org.hibernate.MappingException: class uk.co.luciditysoftware.myproject.domain.entities.User not found while looking for property
下一个在堆栈中。
答案 0 :(得分:0)
我解决了这个问题。我通过go:
从my-project-main引用myproject-domainmyproject-main -> right click -> Properties -> Java Build Path -> Projects -> Add
并在那里添加myproject域,但您还需要执行以下操作:
Main menu -> Run -> Run Configurations... -> Apache Tomcat -> Tomcat v8.0 server -> Classpath tab -> Add Projects...
并在此处添加myproject-domain,如此问题所述:calling a class in another project Eclipse