最近在項目遇到了一點問題,在用idea rebuild 的時候,java 類老是不編譯。Google 一下,發現以前沒有注意到的問題。這裏記錄一下。
war exploded 和 war 的區別
war exploded : 其實是把源碼編譯,然後發佈到 IDEA 的工作空間,target 的目錄下,支持熱部署(每次只編譯更新的代碼,適合開發時用)
war : 每次都把所有class文件打成war包,發佈到tomcat服務器,不支持熱部署(在發佈時用)
其實就是編譯的位置不一樣,獲取上下文的位置也會不一樣
String contextPath = request.getSession().getServletContext().getRealPath("/")
war 模式始終是獲取到的路徑如下:
war exploded 模式獲取到的路徑如下: