legacy-knowledge-base
公開されました Jul. 2, 2025

カスタム フォーム フィールドを作成できません

written-by

Ankit Gupta

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay Developer Studio 3.8.1 を使用してカスタム フォーム フィールドを作成しようとしているとき。
    LDS に「指定された Liferay バージョンが無効です。 [7.0.0,7.2.0)"の範囲内である必要があります。

Environment

  • Liferay DXP 7.2

解決策

  • この問題は、完全かつ厳密な修正が行われる今後の修正パックで修正される予定です。 それまでの間、次の回避策に従うことができます:

    1. Blade をスナップショットに更新しました:
    D:\Workspace>blade update -s
    Current blade version 3.10.0.SNAPSHOT202005212038 is greater than the latest snapshot version.
    D:\Workspace>blade version
    blade version 3.10.0.SNAPSHOT202005212038
    2. 次に、「workspace」というフォルダーを作成し、そこにステップインし、その中に新しい Liferay Workspace (DXP 7.2 用) を作成しました:

    D:\Workspace>blade init -f -v 7.2

    3. 次に、フォーム フィールド モジュールを作成しました:
    D:\Workspace>blade create -t form-field -p com.liferay.my.form.field -c MyFormField my-form-field
    Successfully created project my-form-field in D:\Workspace\modules
    4. 次に、モジュールフォルダーに足を踏み入れ、ビルドしようとしました:
    D:\Workspace>cd modules

    D:\Workspace\modules>cd my-form-field

    D:\Workspace\modules\my-form-field>..\..\gradlew build


    > Task :modules:my-form-field:compileJava FAILED
    D:\Workspace\modules\my-form-field\src\main\java\com\liferay\my\form\field\form\field\MyFormFieldDDMFormFieldRenderer.java:30: error: missing return statement
    }
    ^
    1 error
    ご覧のとおり、MyFormFieldDDMFormFieldRenderer.java のこのエラーは、奇妙なことに、getTemplateNamespace メソッドに return ステートメントがなかった (完全に空だった) ためです。 そのため、以下の行 MyFormFieldDDMFormFieldRenderer.java を追加してください。
    return "my-form-field";

    なので、私のファイルに入れて、もう一度ビルドしてみてください。 これでビルドは成功します。

    5. このjarファイルをデプロイできるDXPサーバーが必要になりました。 だからバニラのDXP 7.2 SP1を取った。

    6. 起動後、com.liferay.my.form.field-1.0.0.jar ファイルをデプロイ フォルダーにコピーするだけで、デプロイは正常に行われました。 Tomcat コンソールでこれを見ました:
    2020-05-26 09:19:50.545 INFO  [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:259] Processing com.liferay.my.form.field-1.0.0.jar
    2020-05-26 09:19:58.295 INFO [fileinstall-D:/Ticket/PIDI/liferay-dxp-7.2.10.1-sp1/osgi/modules][BundleStartStopLogger:39] STARTED com.liferay.my.form.field_1.0.0 [1099]
did-this-article-resolve-your-issue

legacy-knowledge-base