這2天改頁面的BUG的時候遇到個很郁悶的問題,每次修改過JSP都不去重新Load,后來經人提醒是時間戳的問題,每次保存修改的JSP的時候都要把系統(tǒng)時間改成2008年,weblogic才能重新編譯。刪除application,重新explod也不行。 上網查了下資料,才發(fā)現(xiàn)weblogic重新編譯的條件。 JSP容器通過實現(xiàn)StaleChecker接口調用_staticIsStale()方法。該實現(xiàn)接收一個帶有清單1中所示參數(shù)的回調(isResourceStale())。有了這些參數(shù),該實現(xiàn)可以僅接收所有必需的信息,以推斷給定資源是否過期。當資源(參數(shù)1)/foo.jsp的時間戳(參數(shù)2)比存儲在已編譯類文件中的時間戳還要新(參數(shù)更大)時,或者當發(fā)行版本不同時,JSP容器認為JSP.class文件“過期”。 清單1. staticIsStale()方法
所以之前的問題可能是老的class文件的時間戳是2008年,只要找到編譯后的class文件刪除,應該就可以重新編譯了。項目中JSP class的目錄是: C:\bea\user_projects\domains\mydomain\myserver\.wlnotdelete\extract\myserver_appliesEAR_applies\jsp_servlet。 關于時間戳的詳細介紹參考:
posted on 2007-11-03 19:46 licwei 閱讀(1114) 評論(0) 編輯 收藏 所屬分類: Technology
Powered by: BlogJava Copyright © licwei