2012-03-12 12 views
0

This code後には、私たちが使用しているクラスにgetBean()メソッドを追加します。MissingMethodException:メソッドの署名なし:getBean()再コンパイル

clazz.metaClass.getBean = { String name -> 
     return VaadinUtils.getBean(name) 
    } 
    clazz.metaClass.getBean = { Class type -> 
     return VaadinUtils.getBean(type) 
    } 

アプリケーションが起動し、それはまた、いくつかの再コンパイルを存続されたときにそれは問題なく動作します。再コンパイルがlike thisが行われます。いくつかの再コンパイル後

def reloadedClass = application.classLoader.loadClass(vaadinGrailsClass.clazz.name) 

が、それはgetBean()メソッドが欠落していることを言うと、例外がスローされます(その一つが再起動し、開発中のアプリケーションを再デプロイする必要があります)。

public void buttonClick(ClickEvent event) { 
    UserService userService = getBean(UserService) //... 

任意のアイデア間違っているかもしれないもの:

Caused by MissingMethodException: No signature of method: 
com.myapp.SaveIssueDetailListener.getBean() is applicable for argument types: 
(java.lang.Class) values: [class agiletool.core.IssueService] 
Possible solutions: getClass(), getForm(), getAt(java.lang.String) 

->> 30 buttonClick in com.myapp.SaveIssueDetailListener$$ENRHmYFM 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
512 receiveEvent in com.vaadin.event.ListenerMethod 
164 fireEvent . . . . . in com.vaadin.event.EventRouter 
1219  fireEvent in com.vaadin.ui.AbstractComponent 
550 fireClick . . . . . in com.vaadin.ui.Button 
217 changeVariables in '' 
1451  changeVariables . . in com.vaadin.terminal.gwt.server.AbstractCommunicationManager 
1399  handleVariableBurst in '' 
1318  handleVariables . . in '' 
763 doHandleUidlRequest in '' 
296 handleUidlRequest . in com.vaadin.terminal.gwt.server.CommunicationManager 
501 service in com.vaadin.terminal.gwt.server.AbstractApplicationServlet 
191 service . . . . . . in com.vaadin.terminal.gwt.server.GrailsAwareApplicationServlet 
886 runTask in java.util.concurrent.ThreadPoolExecutor$Worker 
908 run . . . . . . . . in '' 
680 run in java.lang.Thread 

は、これは私たちがgetBean()メソッドを呼び出す方法ですか?

答えて

0

この問題は、Vaadin 6用プラグインの古いバージョンでのみ発生します.Vaadinプラグイン(Vaadin 7用)はGrailsのためにゼロから実行されており、この問題は存在しません。

詳細はJIRA issueをご覧ください。

新しいVaadinの詳細については、http://vaadinongrails.com/

関連する問題