問題
- Blobと複合プライマリキーを持つサービスビルダーでコンパイルエラーが発生する。
- コンソールエラーは次のようになることがあります:
[javac] /Users/xxxx-yyyy/Projects/aaaa/dxp/plugins-sdk/portlets/bbbbb-services-portlet/docroot/WEB-INF/service/com/aaaa/portal/model/InvoicePDFBlobModel.java:42: error: cannot find symbol [javac] public InvoicePK getInvoiceId() { [javac] ^ [javac] symbol: class InvoicePK [javac] location: class InvoicePDFBlobModel
環境
- Liferay Blade
- Liferay Developer Studio
- Gradle
- その他のLiferay IDE環境
解決策
- 問題は、依存関係が最新でないことです。 例えば、サンプルプロジェクトでは、次のようなスニペットがあります:
buildscript { dependencies { classpath group: "com.liferay", name: "com.liferay.gradle.plugins", version: "3.13.26" } repositories { maven { url "https://repository-cdn.liferay.com/nexus/content/groups/public" } } } - 依存関係のバージョンは3.13.26です。 これが手動で3.13.50に変更された場合、このバージョンを使用するとサーバービルダーの変更も含まれます。
依存関係のバージョン番号が更新されると、コンパイルエラーが解消され、モジュールが正常にビルドされるはずです。 それでも問題が解決しない場合は、他のプロジェクトの他の依存関係もすべて更新されていることを確認します。