JPA - Weben nicht aktiviert ist, während der Ausführung von Testfällen
Ich habe eine Anwendung, die verwendet Eclipselink 2.5, und bei der Ausführung der Junit-Testfälle, erhalte ich immer diese Warnung:
[EL Warning]: metadata: 2013-08-19 01:14:05.142--ServerSession(14351551)--
Reverting the lazy setting on the OneToOne or ManyToOne attribute [currentTransit]
for the entity class [class ......persistent.entity.BPExecutionEntity] since
weaving was not enabled or did not occur.
So, ich schrieb ein 'Weben' Aufgabe, auf meine Ant-build-Datei wie folgt:
<target name="define.task" description="New task definition for EclipseLink static weaving">
<taskdef name="weave" classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask"/>
</target>
<target name="weaving" description="perform weaving" depends="define.task">
<weave source="D:\...\dist\${ant.project.name}.jar"
target="D:\...\dist\woven-${ant.project.name}.jar"
persistenceinfo="D:\...\lib\persistence.jar">
<classpath>
</classpath>
</weave>
</target>
OK, alles funktioniert, und wenn ich den code kompilieren, erzeugt es einen gewebten Datei auf die Hälfte der Größe der kompilierten jar. Aber, wenn ich die tests des Projekts dann habe ich immer noch die gleiche Warnung angezeigt blah blah blah... since weaving was not enabled or did not occur.
Jemand weiß, wie zu entfernen diese Warnung von meiner tests?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie angeben, dass statische Weben verwendet wird, in Ihre persistence.xml Eigenschaften. Sehen
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving
"Schritt 2: Konfigurieren persitence.xml" für details
<property name="eclipselink.weaving" value="static"/>
im persistence.xml aber es ist immer noch zeigen die Warnungen beim ausführen des tests. Vor kurzem herausgefunden, dass der Junit-engine verwenden, die nicht mit der jar-Datei generiert, in /dist/ Ordner, um die tests auszuführen, so macht es keinen Sinn, in der Weberei die jar-Datei zum testen. Scheint, wie die Lösung dafür ist die Verwendung von dynamischen Weben.Ich schließlich gelöst die situation mit dynamischen Weben. Wie verwende ich Netbeans 7.3.1, ging ich zu der
Project Options | Run | VM options
und ergänzt diesen text:-javaagent:C:\eclipselink\jlib\eclipselink.jar
können Sie ändern Sie die Adresse zu welcher Adresse Sie gefunden haben eclipselink.jar.Dann habe ich diese Zeile in die
persistence.xml
:Das ist alles. Diese Konfiguration ermöglicht die dynamische Weben zum ausführen von Testfällen und entfernt die
[EL Warning] Reverting the lazy setting on the OneToOne or ManyToOne attribute...etc.