2011-06-14 42 views
1

我正在嘗試學習JSF做一個演示項目。當我嘗試驗證添加一些成分,我得到拋出java.lang.ClassNotFoundException:com.test.validator.TestValidator獲取Validator類的ClassNotFoundException

我的臉,配置看起來像這樣

<validator> 
    <validator-id>Validator</validator-id> 
    <validator-class>com.test.validator.TestValidator</validator-class> 
    </validator> 

Validator類

public class TestValidator implements Validator { 


    @Override 
    public void validate(FacesContext context, UIComponent componentToValidate, 
      Object value) throws ValidatorException { 
     //Add code 

    } 

} 

最後一個facelet

 <f:validator validatorId="Validator"></f:validator> 

我不知道如果我失蹤somethi NG。所有的幫助表示讚賞。由於

+1

您是否在驗證程序類中包含聲明? – 2011-06-14 07:20:36

+0

我已經在驗證器類中添加了包聲明。 – 757071 2011-06-14 08:26:09

回答

3

我能想到的一些可能的原因的:

  • 的TestValidator類缺少package聲明,所以你實際上已經在默認包中宣佈它......由@Jigar注意喬希。

  • 你還沒有編譯它。

  • 您尚未創建/更新包含該類的JAR。

  • 您沒有在WAR/EAR中包含JAR。

  • WAR/EAR(或網絡服務器)缺少包含您的TestValidator依賴的某些類的JAR文件。 (看起來不太可能......)

  • 您還沒有重新部署WAR/EAR。

+0

我使用Eclipse helios和Glass fish作爲web服務器,所以我認爲上面提到的大多數問題都會自動處理。你能指導我任何缺失的步驟嗎?我確定包聲明在那裏,並且類被編譯。 – 757071 2011-06-14 08:31:43

+1

在部署的webapp中查找包含該類的JAR文件,並檢查該類是否在JAR文件中,並且它在JAR文件中的路徑是否正確。 – 2011-06-14 10:23:07

+0

非常感謝斯蒂芬的詳細答案和後來的幫助。現在它的工作。 – 757071 2011-06-14 11:16:00

相關問題