0

Grails アプリを Grails 2.0.3 にアップグレードしたところ、本番の Tomcat でアプリケーションにアクセスできなくなりました。

開発中または「grails prod run-war」を使用してアプリを実行すると、アプリケーションは正常に動作します。しかし、このアプリを Tomcat (Tomcat 6 および 7 でテスト済み) に移動すると、アプリにアクセスできなくなります。正しく読み込まれますが、http://localhost:8080/appNameにアクセスすると、HTTP 404 が表示されます。

ログが空なので、どこに問題があるのか​​わかりません。Config.groovy から外部化された構成の読み込みを削除すると、アプリケーションが機能します。本当に奇妙です。構成グルービー:

grails.config.locations = ["file:/home/user/application_homes/app_home/app-config.properties"]

同じ問題に直面しましたか?それとも、Grails 1.3.7 から Grails 2.0.3 への変更で、これに影響するものはありましたか?

アドバイスをありがとう!

4

2 に答える 2

0

また、同じ問題が発生しています。grails.configuration.locations を指定するには、System/Env 変数または -Dconfig.file= 定義を使用する 2 つの方法があります。環境変数 load を使用すると、これにより次の行が発生します

classpath:the-config-file.properties

-Dconfig.file が指定されている場合、ファイル ベースのエバリュエーターが使用されます。

file:/full-path/the-config.file.properties

System/Env メソッドを使用すると、構成が正常にロードされます! 「ファイル」ルックアップの使用に移行するとすぐに、Tomcat は起動に失敗します。

internalConfigurationAnnotationProcessor Bean を作成した直後に失敗しているようです。

2012-04-22 22:35:53,514 (main) DEBUG [org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext] - <Bean factory for org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@17bcd4: org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory@752144: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,....<--- (left out the big list of others)
2012-04-22 22:35:53,538 (main) DEBUG [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory] - <Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'>
2012-04-22 22:35:53,538 (main) DEBUG [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory] - <Creating instance of bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'>
2012-04-22 22:35:53,547 (main) DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Returning cached instance of singleton bean 'grailsApplication'>
2012-04-22 22:35:53,547 (main) DEBUG [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory] - <Eagerly caching bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor' to allow for resolving potential circular references>
2012-04-22 22:35:53,548 (main) DEBUG [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory] - <Finished creating instance of bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'>
2012-04-22 22:35:53,667 (main) INFO [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory] - <Destroying singletons in org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory@752144
22/04/2012 10:35:53 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart

最も奇妙な部分は、classpath:<>定義からに変更するだけfile:<>で、この問題を引き起こしています。grailsConfig.groovyファイルにデバッグ ステートメントを挿入しましたが、ファイルの内容は問題なく読み取られます。

于 2012-04-22T12:46:33.250 に答える