The value for the useBean class attribute XXX is invalid

在web項目中,我們有時會遇見

The value for the useBean class attribute XXX is invalid

The value for the useBean class attribute java.lang.Integer is invalid.

The value for the useBean class attribute java.util.List is invalid

或者是Servlet.service() for servlet [****.****] in context with path [/practice_system] threw exception

等一系列javausebean及對應的jsp中相關聯的錯誤

大多是由於jdk版本不同產生的編譯錯誤(導入的項目jdk版本過低)

比如在jsp中運用了 <jsp:useBean id="fb" class="com.bean.FrirendLinkBean" scope="request"/>,在編譯的時候無法找到FrirendLinkBean類

原因是eclipese因爲web項目版本在3.0以下,JDK版本過低的環境中有時不能自動編譯生成class文件

在此分不同的環境進行解決

1.配置成導入項目的環境:低版本的web項目編譯需要部署在tomcat中,也就是WEB-INF目錄下,我們可以自己創建一個classes目錄,如果你自己新建的項目文件夾爲test,那麼在test下新建WEB-INF文件夾,再在WEB-INF下新建classes文件夾。最後,假如你的useBean所屬的java類(假設爲Use.java)的package名爲test,就繼續在classes下新建test文件夾,裏面放好Use.java文件(即useBean的那個類的java文件),再對其進行編譯得到Use.class。  (如果不知道怎麼編譯或者編譯遇到問題可以參考編譯的解決方法)

 

2.不改變當前eclipese環境:在高版本的環境下,編譯出的class文件會再WebContent的build目錄中(文件不可見,可以在文件管理器中看見),將java文件編譯後的class文件通過文件管理器放入build目錄即可(注意:package包路徑要和src中的一樣)

 

無法編譯或不知道編譯的解決方法:

1、先讓eclipese進行重新編譯 eclipse—》Project—》clean   就可以生成.class文件

 

 

2.檢查項目的classpath有沒有引用錯誤的library

 

因爲路徑發生改變的library需要重新buildpath

 

3.檢查eclipese是否設置了自動編譯 eclipse—》Project —》Build Automatically,打勾後eclipese纔會在無法運行的情況下對class文件進行保存

 

4.進一步對工程及全局進行自動編譯設置(注意,要兩個都設計了纔行)

 

全局設置: Preferences—》Java Compiler—》Building

 

 

具體工程設置: Properties—》Java Compiler—》Building

 

如果沒有解決,可以重試1的clean過程

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章