問題タブ [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 - Jenkins による Grails 3.1.2 プロジェクト: 不明なコマンドライン オプション '-n'
jenkins ジョブ (Grails 2.4.5 で動作) をコピーして貼り付けましたが、新しい Grails 3.1.2 プロジェクトでは失敗します。
私が実行し./gradlew clean
たり./gradlew war
、ローカル環境で実行したりすると、完全に機能します。ジェンキンスで実行するには?
grails-2.5 - Grails 3.1.3 または Grails 2.5.4 を使用して hello world プログラムを作成できない
私のプロジェクトは Grails 2.2.2 に基づいています。Groovy バージョン 2.4.4 をアップグレードするために、Grails 2.5.4 にアップグレードする必要があります。
そこで、Grails 2.5.4 をダウンロードし、Grails ホームを環境変数に、bin フォルダーをクラスパスに設定しました。
コマンドラインから grails -version is Grails 2.5.4 を見ることができます
次に、grails create-app helloworld を作成しました。無事作成されました。
helloworldcd
プロジェクトに参加し、grails run-app を実行しようとしました。
この後、コマンドラインでクラスパスの構成を約10〜15分間見ることができ、最終的にエラーが発生しtomcat:7.0.55.3 not found
ます. grails 2.5.4 ディレクトリに tomcat バージョン 7.0.55.2 が表示されるので、BuildConfig.groovy
Tomcat をバージョン 7.0.55.2 に変更しました。そして再び grails run-app を実行し、今度はプラグインがインストールされました。
次にエラーが発生しました
これらが Grails 2.5.4 の plugins フォルダーにあることに驚いていますが、それでも文句を言います。
Mavenレポを追加しました
しかし、これはうまくいきませんでした。
これを手動でコピーして run-app を再度実行したところ、キャッシュとアセット パイプラインに関連する依存関係でエラーが発生しました。
これをコメントアウトして run-app を実行しました。次に、catalina ライブラリが見つからないというエラーが発生しました。次に、Tomcat に関連するライブラリをコピーしましたが、それでも hello world プロジェクトを実行できません。Spring parserContext class not found というエラーが発生しました。
以前、Grails 2.2.2 に取り組んでいたとき、このような問題は発生せず、すぐに helloworld プロジェクトを作成して実行することができました。
今、Grails 2.5.4 と Grails 3.1.3 を使って、私は本当にイライラしています。Grails 2.4.4 と Grails 3.0.3 も試しました。
Grails バージョン 2.5.4 または Grails 3.1.3 を使用して helloworld grails プロジェクトを作成および実行する方法を教えてもらえますか。また、Groovy 2.4.4 を含む古いバージョンの Grails を試す準備ができています。
grails - コントローラー単体テストの実行は IntelliJ で動作しますが、grails test-app を使用しません
私はそれに取り組む方法がわからない小さな課題に直面しています。私の現在のアプリケーションでは、RabbitMQ を AMQP ブローカーとして使用しており ( <strong>spring-rabbit を使用)、RabbitMQ ConnectionFactory が自動配線されるなどの統合テストを正常に作成しました。
コマンドラインを使用して実行するとエラーが発生する、小さなコントローラー用の単体テストもいくつかあります。
grails test-app
org.springframework.beans.factory.BeanCreationException: 'rabbitMQConfig' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.amqp.rabbit.connection.ConnectionFactory rabbitmq.config.RabbitMQConfig.connectionFactory; です。ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [org.springframework.amqp.rabbit.connection.ConnectionFactory] が依存関係に見つかりません: この依存関係のオートワイヤー候補として適格な少なくとも 1 つの Bean が必要です。依存関係アノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
IntelliJ内で単体テストを実行すると、すべて正常に動作します。
だから、IntelliJ内でテストを実行することとGrailsコマンドラインでテストを実行することの違いは何だろうと思っています。Grails がテストを実行する環境と何らかの関係があると思います。しかし、統合テストがテスト構成で機能するように、RabbitMQTestConfig も接続しました。
これがコマンドラインではなく IntelliJ 内で機能する理由について、私は少し困惑しています。どんな手掛かり?
grails - Log4j2 用に Grails 3 を構成する
grails 3 とのログバインディングとして Log4j2 を使用したいと考えています。
私がこれまでに把握できることから。さまざまなロガーを使用する下位の依存関係が多数あるため、SLF4J API を使用する必要があります。次に、grails / groovy / spring が SLF4J API を Logback バインディングにリダイレクトするのではなく、それぞれを Log4j2 バインディングにリダイレクトする必要があります。
grails 3 は Logback バインディングを使用するため、build.gradle の各依存関係を調べて、Logback バインディングを除外し、Log4j2 バインディングを含めることを計画しています。これは機能しますか?更新: はい
Log4j2 API を SLF4j API にブリッジする必要もありますか? そのために必要な依存関係は何ですか?更新: 以下を参照してください。
最後に、grails 3 の logback.groovy 構成を捨てて、log4j2 構成の 1 つを src/main/resources に置く必要があると思います。更新: はい
これが判明したら更新を投稿しますが、誰かが以前にこれを行ったことがあるに違いありません。
2016 年 3 月 18 日更新:
これは非常に簡単であることがわかりました。grails 3 プロジェクトで「./gradlew 依存関係」を実行して、どの依存関係が Logback バインディング/実装 (グループ:「ch.qos.logback」、モジュール:「logback-classic」) に引っ張られているかを確認しました。
まず、「grails create-app testit」コマンドで生成されるデフォルトの build.gradle を次に示します。
依存関係レポートは、それらが 2 つの依存関係によって取り込まれていることを示しました。
と
そのため、build.gradle の依存関係セクションにいくつかの変更を加えるだけで済みました。
src/main/resources に、log4j2.xml を追加しました。
Groovy コードでは、以下を使用しました。
また、頻繁に使用されるクラスのコンストラクターに ThreadContext ステートメントを配置します。
それだけでした。現在、構成の変更時にログ メッセージを失わない、高速な非同期ログを実行しています。
grails - Grails 3 Quartz プラグイン: ジョブが開始されない
Grails で簡単なバックグラウンド ジョブを実行しようとしています。30秒ごとに何かが起こるようにしたいだけです。
Grails 3.1.3 を使用しています
依存関係に Quartz を追加しました: "org.grails.plugins:quartz:2.0.1" をコンパイルします
次に、コンパイルを実行し、grails CLI を再起動しました。ここで、create-job を使用してジョブを作成しました。次のようになります。
run-app 経由でサーバーを起動しても何も起こりません。何も印刷されず、エラーもありません。私は何を間違っていますか?
grails - Grails 3: 統合テストはテスト環境ではなく開発環境で実行される
dataSourceConfig.yml
データベース構成ファイルを分離しました:
次のプロジェクトに接続しますApplication.java
。
Intellij IDEA 15 経由で統合テストを実行すると、開発環境でテストが実行されますが、YAML 構成ファイルにはテストセクションがあります。
これを修正する方法を知っている人はいますか?以下のコマンドは役に立ちません。
grails - Grails 3 アプリは JBoss EAP 6 で 404 です
新しい Web プロファイル アプリを作成してすべて生成すると、ローカルで問題なく動作し、エラーなく JBoss にデプロイされます。しかし、アプリにアクセスしようとすると、すべての URL が 404 を返します。データベースにテーブルが作成されたため、アプリが正常に起動したことがわかります。
これが私がやっていることです。
- grails 3.1.4> create-app デモ
- create-domain-class Book
- create-domain-class 作成者
- ドメイン クラスの編集
- すべて生成 *
- tomcat の依存関係をコンパイルから build.gradle での提供に変更
- JNDI Oracle 接続を使用するように application.yml の dataSource を変更します
- server: contextPath: /demo を application.yml に追加します。
- run-app -> 動作します
- グラドル戦争
- JBoss EAP 6.4.0.GA にデプロイ
JBoss は、アプリの展開とアクティベーションが成功したと述べています。どの JBoss ログ ファイルにもエラーはありません。そして、dbCreate: update は私の Oracle データベースに DDL の変更を加えたので、そこまで到達したことがわかります。ただし、アプリのすべての URL は 404 を返します。
spring - ドメイン オブジェクト コンストラクターで grails サービスを呼び出すことはできますか?
Grails バージョン: 3.1.2
ドメイン オブジェクト (VersionedDomainClass) の新しいインスタンスを作成するたびに呼び出したいバージョニング サービス (VersionService) があります。VersionedDomainClass でサービスの呼び出しを処理したいのですが、これを実行しようとすると:
コンストラクターは起動時に呼び出されますが、その時点で versionService はまだ null であるため、NPE が発生します。
起動時にインスタンス化される VersionedDomainClass は必要ありません。おそらく、Spring がドメイン クラスの独自のインスタンスを作成しようとしているように見えますか? サービス Bean が作成されるまで、Spring がこれを行うのを防ぐ方法はありますか?
grails - Grails 3 fontawesome セットアップ
grails 3 プロジェクトに fontawesome (fa) を含めようとしています。grails2にはこれ用のプラグインがあるのを見ましたが、このプラグインをインストールする方法の構成と説明はgrails 3では機能しないようでした.
そこで、assets/fonts/ ディレクトリを作成してそこにフォントを配置し、css を stylesheets ディレクトリに追加して、application.css から参照することで、多かれ少なかれ手動で fa を追加しようとしました。grails run-app 経由で Idea を実行すると、すべての fa リソースが正常に表示されます。
ただし、war ファイルをパッケージ化して tomcat で実行すると、fa リソースがまったく表示されません。アプリ用に作成したコンパイル済みスタイル シートを見ると、fa スタイル シートに配置した ../fonts/ が削除されており、フォント ファイルが見つかりません。
この生成されたフォント リソースと他のすべては、アプリケーションのルートから解決できません (404) が、/assets/ を先頭に追加すると解決できます。
これを機能させるには、アセット パイプラインの構成に関して何が不足していますか?