天天看點

IntelliJ IDEA導入項目部署導緻磁盤被占滿

前言

總是在實驗室的大mac一體機上調試背景不是很友善,準備從git伺服器上clone一份代碼下來。在自己的機子上跑起來。

這份代碼在mac一體機上運作是正确的,我将其代碼上傳到git伺服器。

導入

clone了一份代碼下來之後,成功導入,然後開始部署。泡了杯茶回來發現不太對勁。直接磁盤讀寫錯誤。一看本來還剩十個G的磁盤,直接被占滿了。

大緻想了一下,部署導緻磁盤滿了,肯定是因為循環部署了什麼。一看果然target的class檔案夾中不僅僅有原本就應該有的class檔案。還有一份完整的項目檔案(包括js,jsp檔案夾,class檔案,就是這個class開始循環了)。

分析

網上搜尋了一下,好像沒有人和我一樣有這個錯誤,隻能自己檢視。

還在一體機上的代碼是正确,隻能逐個比對。

1. 首先發現

IntelliJ IDEA導入項目部署導緻磁盤被占滿

這個位置沒有将其變成spring項目,web項目。變成web項目之後,點選下圖中的1,就會出現如圖2和3的配置

IntelliJ IDEA導入項目部署導緻磁盤被占滿

2. 但是發現一次部署不會無線嵌套,但是在此部署嵌套一層,在此部署再向裡面嵌套一層。這樣一直進行下去,豈不會一直嵌套下去。

IntelliJ IDEA導入項目部署導緻磁盤被占滿

其中有一條就是 pom.xml中的配置檔案必須要有packaging 配置選項值是war。但是檢視一體機上的版本pom檔案中該配置選項的值是“pom”。但是抱着試試的心态,改成了war,pom檔案報錯了,但是我強行運作了,竟然報錯消失了,部署時嵌套無限部署的問題也沒了。

總結

  1. 原本一直認為所有關于項目得配置都應該記錄在某個檔案中,導入項目時都會導入其中。但是從實際操作來看。最起碼有兩個地方的配置沒有被導入。第一個圖中的圓圈中的内容,圖二中的2和3的配置都需要重新配置。
  2. pom.xml檔案中的packaging配置選項的值,最好寫成war。

參考資料

idea建立maven web項目詳細靠譜教程

繼續閱讀