2016-09-28 3 views
0

Ich benutze Liferay 6.2 GA5 Community Edition.So entfernen Sie Entität vollständig in Liferay (Klasse in JAR-Datei enthalten)

Musterkoffer Ich habe 2 Einheiten in meinem service.xml, lassen Sie uns Einheit A & B. sagen

Wenn I Service Builder ausführen, dann wird es viele JAVA-Dateien in meinem Source-Code generieren, und auch JAR-Datei in

befindet generieren
".\my-app\liferay-plugins-sdk-6.2\portlets\my-app-portlet\docroot\WEB-INF\lib\my-app-service.jar" 

ich öffne es mit 7-zip, und ich kann sehen, in Paket com.mycompany.myapp.model Klassen Einheit enthält A & B.

Dann versuche ich Einheit A inzu entfernen, und ich habe die entsprechenden JAVA-Dateien, die in meinem Quellcode generiert wurden, entfernt, dann führe ich Service Builder erneut aus, aber innerhalb von my-app-service.jar ist die Entität A immer noch vorhanden.

Wie kann ich es vollständig aus der JAR-Datei entfernen? denn in meinem Fall wird Service Builder es nicht entfernen, obwohl ich manuell erzeugte JAVA-Dateien entferne.

Antwort

2

Servicebuilder ist ein Codegenerator , so erzeugt es nur neuen Code.

Wenn Sie den einmal generierten Code loswerden wollen, gibt es viel mehr als nur die Java-Klassen loszuwerden: Spring-Konfiguration, Hibernate-Konfiguration usw. gibt es auch für Sie zu kümmern. Alle diese müssen manuell gelöscht werden. Und wenn der Code immer noch im Jar bleibt, sollte die gute alte ant clean (oder die von Ihnen verwendete Build-Umgebung) die my-app-service.jar-Datei loswerden (die Sie ansonsten auch einfach manuell löschen können, damit sie es ist nächste Mal, wenn ein Build-Prozess wieder aufgebaut oder Servicebuilder läuft)

ich für Vorkommen einer Suche empfehlen in alle Dateien Ihres Projekts zu sehen, ob man noch Reste finden, weil sonst einige Komponente könnte zur Laufzeit beschweren sich, dass eine declarated Klasse kann‘ t gefunden werden.

+0

danke, ich habe alle Vorkommen der Klasse A durchsucht, und ich fand es in der JAVA-Quelle im Ordner '. \ Liferay-plugins-sdk-6.2 \ portlets \ my-app-portlet \ docroot \ WEB-INF \ service \ com \ mycompany \ myapp', nach dem Löschen und Neuerstellen des Dienstes ist die entsprechende Klasse in der JAR-Datei jetzt verschwunden. – danisupr4

Verwandte Themen