問題タブ [grails-2.4]
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 2.4.2 - package-plugin --binary - 生成された JAR の名前を変更する
バイナリ JAR としてパッケージ化したいカスタム プラグインがあります。そのために、以下に示すようにコマンドを実行しています。
grails package-plugin --binary
フォームの名前で JAR ファイルを正常に生成しています。
grails-plugin-mycustom-plugin-1.0.jar
代わりに、次の形式の名前で JAR ファイルを生成する方法を知る必要があります。
mycustom-plugin-1.0.jar
この点に関するヘルプは大歓迎です。
grails - Grails 2.2.0 プロジェクトで JAR 依存関係として Grails 2.4.2 プラグインを使用する
通常の JAR 依存関係として複数の Grails プロジェクトで使用される Grails 2.4.2 を使用してビルドされたカスタム プラグインがあります。BuildConfig.groovy
プラグインを JAR として正常にエクスポートし、ローカルの Maven リポジトリにインストールし、対応する依存関係ステートメントをそれぞれの親プロジェクトのファイルの「依存関係」ブロックに追加しました。例えば:
compile 'my_package:my_custom_plugin:1.0'
親プロジェクトの 1 つは、Grails 2.4.2 を使用してビルドされています。コマンドを使用して上記の構成でそのプロジェクトを実行すると: grails run-app
、エラーなしで正常に実行されます。
ただし、Grails 2.2.0 を使用してビルドされた別のプロジェクトで同じ種類の構成を行い、コマンドを使用して実行するとgrails run-app
、次のエラーが発生します。
Error | Fatal error during compilation org.apache.tools.ant.BuildException: java.lang.NoClassDefFoundError: org/grails/datastore/mapping/dirty/checking/DirtyCheckable (Use --stacktrace to see the full trace)
注: で次のようなステートメントを使用して、JAR 依存関係としてではなくプラグインとして同じプラグインを追加すると、これらの親プロジェクトは両方とも正常に実行されますBuildConfig.groovy
。
grails.plugin.location."my_custom_plugin" = "../my_custom_plugin/"
この問題を解決するにはどうすればよいか、誰か親切に教えてもらえますか?
どんな助けでも大歓迎です。
mongodb - Grailsドメイン基準によるアクティブなカーソルでのMongo CursorNotFound例外
リモートデータベース接続を使用して、Grails 2.4.4、mongo プラグイン 3.0.2、MongoDB 2.4.10 を使用しています。
私たちのアプリケーションの一部では、サービス メソッドが 20,000 人以上のユーザーを反復し、電子メールを送信します。
約 6000 人のユーザーに対してこれを実行した後、MongoDB カーソル例外が発生します。
ドキュメントを探したところ、カーソルが 20 分で自動的に閉じられることがわかりました。ログで確認したところ、この例外はちょうど 20 分後に発生しました。
ただし、この 20 分での自動クローズの動作は、非アクティブなカーソルに適用できますが、ここではカーソルがアクティブです。
更新:
いくつかの記事を読んだところ、これは TCP キープアライブ タイムアウトの問題である可能性があることがわかりました。そのため、TCP キープアライブ タイムアウトをデフォルトの 2 時間から 2 分に変更しましたが、それでも問題は解決しません。
grails - Grails 2.4 へのアップグレード: ClassNotFoundException: org.springframework.web.filter.GenericFilterBean
アプリケーションを Grails 2.3.11 から 2.4.5 にアップグレードしようとしています。これを機能させることができないようです。Spring Security Core と Spring Security REST プラグインを使用しています。アプリを実行しようとすると、この例外がスローされ、Spring Security Core がソースとして示されます。
GenericFilterBean クラスが見つからないのはなぜですか? Spring セキュリティ プラグインは、Grails 2.4 と互換性があることを示しています。
プラグインは、次のように BuildConfig.groovy に含まれています。
unit-testing - Grails で RestfulController を単体テストするときのデフォルトのインデックス アクションでの奇妙な動作
grails 2.4.4 (および 2.4.5) を使用して、次の小さなアプリケーションを作成しました。
次に、 Book.groovy を次のように編集しました
次に、基本的なコントローラーを追加しました
コントローラーを変更して、RestfulController を拡張します。
UrlMappings をフックして、書籍を /api/books のリソースとして提供します。
最後に、BootStrap.groovy でいくつかの本を作成しました。
それからgrails run-app
そして、すべてが良さそうです。example.Book コントローラがインデックス ページに表示されます。3 つの本は、json または xml として表示できます。
それでは、単体テストに進みます。
BookControllerSpec を次のように編集します
最初のテストはパスし、2 番目のテストは失敗します。失敗したテストの println からの出力は、書籍の空の xml リストです。
<?xml version="1.0" encoding="UTF-8"?><list />
何が起こっているのかを調査しながら、親クラス (RestfulController) の index メソッドに注目しました。
そのメソッドを BookController にコピーすることで、単体テストがパスし始めます。
-- index メソッドをコピーした新しいバージョンの BookController --
インデックス メソッドを BookController にコピーしなくても、RestfulController のインデックス メソッドを機能させるために、仕様に追加する必要があるものは他にありますか?
BookController から直接実行すると への呼び出しがlistAllResources
機能するのに、RestfulController から実行すると行が返されない理由は何ですか。
上記の単体テストは、grails 2.3 用に書かれた Grails In Action ブックで説明されているその他の単体テストの修正版です。 http://www.manning.com/gsmith2/
grails - ビューのメイン ディレクトリで grails テンプレートが検索されない
私はレンダリングするテンプレートを持っています:
私のメインレイアウトで。(レイアウト/main.gsp)。
これはテンプレートであり、一部のビューでは必要であり、一部のビューでは不要です。
そのテンプレートを必要としないビューについては、名前を付けた空のファイルを最上位のビュー ディレクトリ (/grails-app/views) に置きます。grails のドキュメントで説明されているように:
独自のビュー ディレクトリ (例: /grails-app/views/address) にテンプレート ファイルがあるビューでは問題なく機能します。しかし、grails が /grails-app/views レベルでテンプレートを検索する必要がある場合は機能しません。
ドキュメンテーションから何か間違っていることを理解していますか、それともコードにエラーがありますか?
ファイル/ディレクトリ構造は次のようになります。
address-view にはカスタマイズされた _recordInfo テンプレートが必要ですが、contact-view には必要ありません (したがって、grails は MyApp/grails-app/views ディレクトリにあるテンプレートを取得すると考えていました...)。
grails - Grails 2.5.0 2 つの連続したスラッシュを含む UrlMappings
UrlMappings
2.5.0 にアップグレードしようとしている Grails 2.2.4 (以下に部分的に再現) を継承しました。
api0
&という名前のマッピングは機能しますが、( &の間の) api2
2 つの連続するスラッシュは2.5.0 では適切に一致していないようです (ただし、2.2.4 では一致していました)。例えば:api1
$controller
$id
PUT /api/ticket//123.json
コントローラーが更新アクションに PUT を許可しているにもかかわらず、403 を返します。
着信 URL や HTTP メソッドを変更することはできません (そして、私はそれらを作成していません)。そのため、クライアントを変更して URL の二重スラッシュを単一のスラッシュに置き換えるように、または URL を変更するように言わないでください。および/または HTTP メソッドが REST パラダイムに従っていません。
grails - run-script 用のスクリプトで taglib にアクセスするには?
grailsコマンドライン実行スクリプト用のスクリプトでApplicationTagLibにアクセスする方法は?
誰かがユースケースとは何か疑問に思っている場合に備えて
この問題は、javascript ファイルで使用する json ファイル (コントローラーとアクションへのリンクを含む) を生成するためのスクリプトを作成しようとしたときに発生しました。https://stackoverflow.com/questions/30763227/how-to-use-urls-rendered-as-javascript-variables-during-jasmine-unit-testsの詳細情報
このスクリプト ファイルでの使用を検討してg.createLink
いましたが、スクリプト ファイルでタグ ライブラリを使用する方法が見つかりませんでした。
grails - データテーブルの外部からチェックボックスを変更したときにサーバー側のデータテーブルを更新する方法
Grails でデータ テーブルを使用しています。データ テーブルの外側にチェック ボックスがあり、そのイベントで、チェック ボックスの値を使用してテーブルを再度読み込みたいと考えています。以下は私の試みです:
私の見解では、チェックボックスは >>
これが、サーバーメソッドを呼び出しているビューでの私の試みです>>
ここに私の setWrapActiveStatus() 関数があります >>
そして、これが私のコントローラーアクションです>>
私のアクションは、ラップされたリストのみを応答しますが、データテーブルは更新されません。
編集 - データ テーブルの初期化
grails - @Resource は、自分のコントローラーをシャドウするコントローラーを作成しています
JSON+HAL をレンダリングするため@Resource
に、ドメインに注釈を追加しました。
問題は、私がすでにBookController
(足場なし) を持っており、gsp タグ ( ) を介して ling を作成すると、常にコントローラー (つまり ) の特定のアクションへの<g:createLink controller='book' />
リンクが作成されないことです。入力時に知っておく価値があるのは、gspページではなくJSON応答が表示されていることです。/rest/book
/book/index
localhost:8080/book/index
どういうわけかブックコントローラーをカバーしています@Resource
が、両方を機能させ続ける方法がわかりません。
PS私はGrails 2.4.4を使用しています