1

に基づいてservice.xml、Liferay のService Builderは Java ファイル、ディレクトリ、その他のファイル、およびデータベース テーブルを生成します。また、この世代以降に記述されたコードからインターフェイスを抽出します。

メソッドの名前を変更したり、クラスを削除したりしても、Liferay は何もクリーンアップせず、メソッド/クラス/テーブルはそこにとどまります。

これらの古いアーティファクトをポートレット プロジェクトから消去して、最初から書き直したのと同じ効果を得るにはどうすればよいですか?

4

1 に答える 1

1

警告: 最初にバックアップを作成してください。

ファイルシステムをきれいにする

  • Liferay IDE、Liferay Studio、Eclipse などの IDE を終了します。

  • を実行ant cleanして、生成されたアーティファクトをクリアします。これにより、以下の残りの手順を実行した後にコードだけが残るようになります。

docroot/WEB-INF/src/yournamespace/service/impl実装ファイルを邪魔にならない場所に一時的に移動します。たとえば、ホーム フォルダーに移動します。

ポートレット プロジェクトから次のフォルダー (およびそのすべてのサブフォルダー) を削除します。

  • docroot/WEB-INF/service
  • docroot/WEB-INF/sql
  • docroot/WEB-INF/src/yournamespace(実装ファイルを安全な場所に移動したことをもう一度確認してください)

データベースをきれいにする

  1. あなたのservice.xml
  2. <namespace>たとえば、タグの内容に注意してください。MyNamespace
  3. Liferay データベースで、その名前空間とアンダースコアで始まるすべてのテーブルを削除します (例: MyNamespace_.

再生成

  • サービスビルダーを実行する
  • 実装ファイルを次の場所に戻しますdocroot/WEB-INF/src/yournamespace/service/impl
  • Service Builder を再度実行する

あなたのヒントや掃除するものを自由に追加してください!

于 2016-02-05T08:46:53.947 に答える