Ich habe zwei Projekte in einem Eclipse-Arbeitsbereich: "myproject-main" verweist auf "myproject-domain" (es wird durch Hinzufügen zum Erstellungspfad referenziert. "myproject-domain" enthält meine Domänenentitäten (POJOs) und sonst nichts. Alles wird korrekt erstellt und alle Verweise von Klassen in "myproject-main" für Entitäten in "myproject-domain" ist in Ordnung.
Das Problem ist, dass ich Hibernate hbm.xml-Dateien in "myproject-main" habe, die Entitäten in "myproject-domain" referenzieren.
Dies ist in "myproject-main", zusammen mit allen anderen Hibernate- und Spring-Setups:
<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>
und diese Klasse in "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;
}
}
Wenn ich die Benutzerentität in die"myproject-main" -Projekt, alles funktioniert wie erwartet, daher stimmt nichts mit meinem Hibernate / Spring-Setup überein. Es ist nur ein Problem aufgetreten, die User-Entität zu finden, wenn sie sich in einem referenzierten Projekt befindet.
Der beim Start des Projekts erhöhte Expection Stack hat
java.lang.ClassNotFoundException: uk.co.luciditysoftware.myproject.domain.entities.User
unten mit
org.hibernate.MappingException: class uk.co.luciditysoftware.myproject.domain.entities.User not found while looking for property
als nächstes im Stapel.
Antworten:
0 für die Antwort № 1Ich habe es herausgefunden. Ich habe auf meineProjektdomäne von meiner Projekt-Hauptseite aus verwiesen, indem ich Folgendes ausgeführt habe:
myproject-main -> right click -> Properties -> Java Build Path -> Projects -> Add
und dort myproject domain hinzufügen, aber Sie müssen auch Folgendes tun:
Main menu -> Run -> Run Configurations... -> Apache Tomcat -> Tomcat v8.0 server -> Classpath tab -> Add Projects...
und füge myproject-domain von dort hinzu, wie in dieser Frage erwähnt: Aufrufen einer Klasse in einem anderen Projekt Eclipse