2012-03-20 4 views
2

GWTアプリケーション(GWT 2.4)でGINとカスタムBeanバリデータと結婚することができませんか(コンパイラエラー)

GWTコンパイラは私に次のエラーを与える:

Rebind result 'javax.validation.ValidatorFactory' must be a class 
Rebind result 'com.google.gwt.validation.client.ProviderValidationMessageResolver' must be a class 

マイGINモジュールはNewOrderViewがちょうどCompositeを拡張し、この

@GinModules(ClientGinModule.class) 
public interface ClientGinjector extends Ginjector 
{ 
    NewOrderView getOrderView(); 
} 

のように見えます。

私のモジュールの私の.gwt.xmlでは、私が指示

<replace-with class="com.mine.courierApp.client.validation.ClientValidatorFactory"> 
    <when-type-is class="javax.validation.ValidatorFactory"/> 
</replace-with> 
<replace-with class="com.mine.courierApp.client.validation.ClientValidationMessagesResolver"> 
    <when-type-is class="com.google.gwt.validation.client.UserValidationMessagesResolver"/> 
</replace-with> 

を以下しているので、私は多分GINは、Javaコードでこれを知りたいので、私は

public class ClientGinModule extends AbstractGinModule 
{ 
    protected void configure() 
    { 
     bind(javax.validation.ValidatorFactory.class).to(ClientValidatorFactory.class); 
     bind(com.google.gwt.validation.client.UserValidationMessagesResolver.class).to(ClientValidationMessagesResolver.class); 
    } 
} 

しかし、それになった私のGINモジュールを修正思いましたエラーメッセージが大きくなったが、助けにならなかった:

Rebind result 'javax.validation.ValidatorFactory' must be a class 
Rebind result 'javax.validation.ValidatorFactory' must be a class 
Cannot proceed due to previous errors 
Rebind result 'com.google.gwt.validation.client.ProviderValidationMessageResolver' must be a class 

更新:詳細GWTコンパイラの出力:

[ERROR] Errors in 'jar:file:/C:/work/externals/gwt/gwt-user.jar!/com/google/gwt/validation/client/BaseMessageInterpolator.java' 
     [ERROR] Line 96: Rebind result 'com.google.gwt.validation.client.ProviderValidationMessageResolver' must be a class 
    [ERROR] Errors in 'jar:file:/C:/work/externals/gwt/gwt-user.jar!/com/google/gwt/validation/client/GwtValidatorContext.java' 
     [ERROR] Line 36: Rebind result 'javax.validation.ValidatorFactory' must be a class 
    [ERROR] Errors in 'jar:file:/C:/work/externals/gwt/gwt-user.jar!/com/google/gwt/validation/client/spi/GwtValidationProvider.java' 
     [ERROR] Line 39: Rebind result 'javax.validation.ValidatorFactory' must be a class 
    [ERROR] Cannot proceed due to previous errors 

私は何をすればよいですか?

答えて

2

それは私もまったく検証を使用しないもので、すべてのGWTモジュールに

<replace-with class="com.mine.courierApp.client.validation.ClientValidatorFactory"> 
    <when-type-is class="javax.validation.ValidatorFactory"/> 
</replace-with> 
<replace-with class="com.mine.courierApp.client.validation.ClientValidationMessagesResolver"> 
    <when-type-is class="com.google.gwt.validation.client.UserValidationMessagesResolver"/> 
</replace-with> 

を定義する必要が判明。

関連する問題