私のアプリはdevモードで正常に動作し、n devモードを実行していくつかのテストを行った。私はgrailsアプリケーションをサーブレットコンテナ。apacheのtomcatにgrails 3.1.7をデプロイする際の問題
私はコマンドGrailsの戦争を使用して戦争を生成し、その出力は、以下に提供される
provided "org.springframework.boot:spring-boot-starter-tomcat"
に埋め込まれたTomcatの範囲を変更した:
grails war
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:findMainClass
:assetCompile UP-TO-DATE
:buildProperties
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileWebappGroovyPages UP-TO-DATE
:compileGroovyPages UP-TO-DATE
:war
:bootRepackage
:assemble
BUILD SUCCESSFUL
| Built application to build/libs using environment: production
Iの両方tomcat7に展開する場合埋め込まれたバージョンのtomcat8.0.33では、それでも私にこのエラーが表示されます:
Caused by: java.lang.NoSuchMethodError: com.mongodb.MongoClient.getDefaultCodecRegistry()Lorg/bson/codecs/configuration/CodecRegistry
フルスタックはpastebinで利用できます。
しかし、私は以下のコマンドでそれを実行すると、興味深いことに、Tomcatがインストールされている同じボックス上で、それがうまく動作します:
java -Dgrails.env=prod -Dserver.port=9090 -jar my-grails-app-0.1.war
が、私は本当に熱心だ、これはtomcat.Iで行われたではないですもし私が何かのステップを逃しているか確かめてください。誰もこれにいくつかの光を当てることができますか?ありがとうございます。
お返事ありがとうございます。私が気になるのは、アプリケーションをjarファイルとして実行するとうまく動作するということです。それは非常に古いmongo-java-driver-2.13.3を使っているはずです。 devモードでもうまく動作します。そのjavaドライバは 'org.springframework.data:spring-data-mongodb:1.8.1.RELEASE'から来て、最新の1.9 * .RELEASEバージョンを使用しようとする試みはビルド時に失敗しました –
なぜあなたは' spring-data -mongodb'? Grailsのプラグインは 'org.grails.plugins:mongodb'です。戦争術ではなく、その作業瓶について:私は正直には分かりません。多分、爆発戦争のデータソースを作成するために別の戦略が使用されているのかもしれません。見るべきコードが多すぎます。時にはそのようなものhttps://teacherlearnstocode.files.wordpress.com/2014/11/a6pswtfcuai7n-5.jpg – Loucher
彼がどのモンゴー・ジャワ・ドライバーを使っていたのか、どうやって分かっているのか不思議です。私はorg.grails.pluginsを使用しています:mongodb:5.0.1とgrails 3.1.10です。私はtomcatに戦争を展開するときだけgthis同じエラーメッセージが表示されます。 run-appでうまくいく – Kirby