問題タブ [grails-3.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - リファクタリングが不適切に行われる可能性があります
私はGrails 3.1を学ぼうとしている初心者です。デフォルトに関しては、インデックス ページに次のスクラッチを追加します。
最初のインデックス ページには、 no controller が表示されています。次に、別のコントローラー、たとえば TodosControllerを作成します。このコントローラー名はなんとなくナイスなので、(もちろん Intellij IDEA のリファクトリー機能を使って) TodoListController にリネームしたいと思います。残念ながら、コードにはまだ 2 つのコントローラーが残っており、インデックス ページに表示されています。TodosControllerのリンクをクリックすると、次のエラーが表示されます。
エラーのスナップショットを以下に示します。 その場所を見つけるために何度も費やしましたが、魔法のようなことは何も起こりません。誰でもそのような状況になりましたか?
json - Grails は、ドメイン クラスのレンダリングで SQLQuery の結果を一時的な値として使用します
次のドメイン クラスがあるとします。最初のドメイン クラスTag.groovy
では、さまざまなレイヤー (レイヤー 1、レイヤー 2、およびレイヤー 3) を持つ動的なカテゴリ構造を構築できます。の各アクティビティActivity.groovy
は特定のカテゴリに属し、 を介してそのカテゴリに接続されていますActivityTag.groovy
。ここまでは順調ですね。:)
Tag.groovy
Activity.groovy
ActivityTag.groovy
ここで、ツリー ビューでカテゴリを JSON としてレンダリングしたいと考えています。どうすればこれを達成できるか教えてもらえますか?
私は試したrender(template: "tree", collection: Tag.findAllByLayer("layer1"), var: 'tag')
このテンプレートで_tree.gson
:
しかし、この方法は失敗しますjava.lang.reflect.InvocationTargetException: null
grails - Grails 3.1.4 アプリを Elastic Beanstalk にデプロイする際の「別の名前のない CacheManager が既に同じ VM に存在します」というエラー
prod dbm-update を実行した約 1 週間前から、WAR ファイルを EB にデプロイするときにこのエラーが発生し始めました (run-app は、dev 設定と prod 設定の両方で正常に動作します)。
Grails 2.5.0 のリリース ノートでは、beans.cacheManager.shared を true に設定することが推奨されていました。役に立ちませんでした。
同様の問題に直面している他の人々は、Hibernate キャッシュ factory_class を org.hibernate.cache.ehcache.EhCacheRegionFactory から org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory に置き換えることを提案しました- この投稿。名前のない cacheManager の問題は解消されたと思いますが、別の問題が発生しました。
「liquibase.checkChangeLogLocation = false」および「liquibase.enabled = false」を設定すると、さらに別のトリガーが発生します。
私が使用している: Grails 3.1.4 と AngularJS プロファイル、Spring Security 3.0.4、Spring Security Rest 2.0.0.M2、Database Migration 2.0.0.RC4
私も試しました:
- Spring Security 3.0.2、3.0.3 への切り替え
- EC2 インスタンスの終了
- EB 環境全体の再構築と新しいデータベースの作成
- 休止状態の use_second_level_cache を false に設定する
- Grails 3.1.0 へのダウングレード
- sourceSets の設定 { main { resources { srcDir 'grails-app/migrations'}}}
私はアイデアが不足しており、これまでのところ何も役に立ちませんでした。誰にもアイデアはありますか?または、同様の問題に直面していますか?
grails - 一時的なバインド可能な制約を使用して「書き込み専用プロパティを読み取れません」を回避する方法
grails 3.1.4 を使用して、一時的なプロパティを使用して値をバインドするのに問題があります。
このドメインを例にとると:
propertyList
データ バインディングに特定のプロパティ (ここでは: ) を使用したいと思います。このプロパティはデータ バインディング ソースでは使用できますが、私のドメインでは使用できません。そこで、トランジェントとセッターを追加しました。propertyList
データ バインディングにトランジェントを含めるために、bindable
制約を追加しました。
セッターsetPropertyList
は、データ バインディング中に呼び出されます。結果のドメイン インスタンスのプロパティには、すべてのプロパティが期待どおりに設定されています。しかし、結果のインスタンスを保存しようとすると、次の例外が発生します。
grails がインスタンスの検証に問題を抱えているようです。
これを修正する方法はありますか?
grails - Grails 3.1.4 および Docker - grails コマンドが「名前 web のプロファイルが見つかりません」を返す
単独で正常に動作する単純な grails アプリがあります。grails Web プロファイルを使用しても問題ありません。grails run-app
ただし、アプリから docker イメージをビルドすると、grails run-app --stacktrace
またはgrails dependency-report --stacktrace
docker に送信されるなどの grails コマンドがスタックトレースで失敗します。
Docker Build コマンド: grails アプリのルートから実行します。ユーザーは docker グループに属しています。
DockerFile: (ビルドは RUN grails dependency-report --stacktrace で失敗します。そのコマンドを削除すると、ビルドは完了します。ただし、アプリをデフォルト コマンドで初めて実行すると、同じエラーで失敗します。)
設定:
Ubuntu 14.04 LTS 64
Jave: Oracle JDK 1.8.0_77 64
sdkman 4.0.32 経由:
Grails 3.14 Groovy 2.4.6 Gradle 2.12
Docker クライアント: バージョン: 1.10.3 API バージョン: 1.22 Go バージョン: go1.5.3 Git コミット: 20f81dd ビルド: Thu Mar 10 15:54:52 2016 OS/Arch: linux/amd64