這2天改頁面的BUG的時候遇到個很郁悶的問題,每次修改過JSP都不去重新Load,后來經人提醒是時間戳的問題,每次保存修改的JSP的時候都要把系統時間改成2008年,weblogic才能重新編譯。刪除application,重新explod也不行。 上網查了下資料,才發現weblogic重新編譯的條件。 JSP容器通過實現StaleChecker接口調用_staticIsStale()方法。該實現接收一個帶有清單1中所示參數的回調(isResourceStale())。有了這些參數,該實現可以僅接收所有必需的信息,以推斷給定資源是否過期。當資源(參數1)/foo.jsp的時間戳(參數2)比存儲在已編譯類文件中的時間戳還要新(參數更大)時,或者當發行版本不同時,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