2011-08-30 14 views
6

オブジェクトを直列化および逆シリアル化してバネ依存関係を自動的に挿入できるように、Grailsプロジェクトで読み込み時間を使用しようとしています。いくつかの検索の後、私はeasy exampleを見つけました、そして、それは期待どおりに働くようです。しかし、単純なGrailsプロジェクトに同じ設定を適用した後、私は多くのエラーが発生します。たとえば:読み込み時間がgrailsで

[[email protected]] error at org/springframework/web/servlet/theme/AbstractThemeResolver.java::0 class 'org.springframework.web.servlet.theme.AbstractThemeResolver' is already woven and has not been built in reweavable mode 

これをテストするために、私は新しいGrailsのプロジェクトを作成し、applicationContext.xmlを変更:

<bean class="be.testweaving.Person" scope="prototype"> 
    <property name="name" value="Timon"/> 
</bean> 

:私はまた、新しいBeanを作成し、このファイルでは

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd"> 

<context:spring-configured /> 
<context:load-time-weaver aspectj-weaving="autodetect" weaver-class="org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver"/> 

をこれはPersonクラスのプロトタイプを定義し、プロパティに値Timonを注入します。

私はgrails warを使ってこれを戦争としてパッケージ化し、これをtomcatサーバーに展開します。このTomcatのlibディレクトリにはorg.springframework.instrument.tomcat-3.0.5.RELEASE.jarがあります。展開後、上記のエラーの巨大なリストが表示されます。

誰でもGrailsで読み込み時間を設定できましたか?

+0

私が上記の例に従って同じTomcatに展開すると、その例が動作していることがわかります。誰かが、織りが起こらないようにするgrails特有のものがあると私に伝えられたでしょうか? – sterym

+0

Grailsのどのバージョンをお使いですか? –

+0

Grails 1.3.7 – sterym

答えて

0

メタクラスを使用してプロパティを注入してみませんか?

class ExampleBootStrap { 
def init = { servletContext -> 
    Person.metaClass.constructor = { 
     def person = BeanUtils.instantiateClass(Person) 
     person.name = "Timon" 
     person 
    } 
} 
} 
関連する問題