雖然說Intellij IDEA已經用了四個多月,裏面大部分功能仍是比較熟悉的,可是不少細節地方仍是搞不清楚,這幾天公司另外一個小組也換成了Intellij IDEA,幫他們遷移項目的時候,由於是非maven項目,遇到了不少問題,本身又研究了一番,下面整理一下java
project compliler output:配置的是項目中的默認編譯輸出總目錄web
裏面英文也說明了,每一個模塊能夠本身設置特殊的輸出目錄 因此這個基本上沒用spring
項目的模塊,一個項目中能夠有多個子項目,每一個子項目至關於一個模塊tomcat
通常咱們項目只是單獨的一個,因此只須要配置一個模塊,咱們能夠給模塊添加框架服務器
根據咱們項目中的使用到東西,添加對應的框架,並在框架裏面肯定一下相關的配置文件(由於不一樣IDE下,項目的文件結構可能不一樣 因此導入的項目咱們要注意一下配置)mvc
模塊配置根目下 分爲了三個標籤:Sources—— Paths—— Depedencies框架
Sources標籤下 主要顯示項目的目錄資源 那些是項目部署的時候須要的目錄 有顏色提示maven
(好比綠色是測試目錄 橘色是target的目錄 這些部署的時候都不須要 大紅色是個人項目下沒有的 藍色是真正須要部署) ide
Paths標籤下 測試
能夠指定項目的編譯輸出目錄 也就是項目類 和 測試類的編譯輸出地址(替換掉了Project的默認輸出地址)
Depedencies是項目的依賴
咱們能夠點擊右側的+號 添加lib 好比tomcat的lib 默認加進來就是Provided
(和maven的裏面的jar依賴差很少)
Provided 也就是項目部署的時候是忽略的 只是再編譯項目的時候進行使用
Compile 是跟隨着項目部署的 Test也是不部署的
裏面能夠添加項目jar包 而且能夠把多個jar放在一個組裏面 相似於jar包整理
這個下添加的jar 會在Depedencies中顯示(反之不能夠)
項目的門面,說實話,真不知道這個是幹嗎的,和modules差很少,主要是爲了確認一下吧
項目的打包部署設置,這個是項目配置裏面比較關鍵的地方
注意紅框的地方
第一個是咱們須要添加項目的部署包 注意選擇是exploded的war包
第二個是項目的輸出目錄 非maven項目這個能夠設置到任何地方
( maven項目的須要特殊注意 這個後面再說)
第三個是輸出結構(output layout) 參考圖中的幾個文件
(maven項目若是不使用maven的打包編譯 注意圖中WEB-INF下的lib要有項目部署的jar)
建立File——New Project——Java——Web Application
(注意New Project裏面不是選擇的web 而是java)
intellij中web項目 默認網頁根目錄是web
項目配置可參考2中的幾個地方 根據本身的需求本身修改
artifact中out directory 能夠指定到任何地方 項目打包編譯到指定的目錄下
在intellij中啓動tomcat 都會以對應war包out directory的設置的目錄爲工做空間
tomcat配置請參考http://my.oschina.net/u/140593/blog/177042#OSC_h1_2 中的2-7
在intellij中 maven項目仍是能夠按照maven的打包編譯 參考圖中的幾個生命週期 手動去執行
由於maven項目的約定 是項目打包編譯到 target目錄下
因此咱們在2中配置都應該去遵循maven的配置約定進行修改
這樣咱們的項目在文件修改或者熱部署的時候 intellij的編譯才能和maven項目保持一致
(若是是在intellij中建立maven項目 那個intellij會給你配置好全部的配置
基本不用修改 咱們能夠建立一個springmvc的例子進行參考)
須要注意的地方是:
maven項目 artifact中out directory 的目錄名
必定要和pom文件中build的finalName一致
另外pom文件中 要配置<packaging>war</packaging>
好比pom中配置的項目bulid finalName叫作ROOT
那麼咱們的out directory爲 E:\項目積累\test1\target\ROOT
經過maven編譯以及打包項目後
在服務器的配置中,能夠去掉下圖紅色區域的兩個選項,避免每次啓動時都從新編譯和打包
-Xms768m
-Xmx768m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-server
-XX:NewSize=128m
-XX:+UseParNewGC
-XX:ParallelGCThreads=8
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=60
Username:JavaDeveloper@sskaje.meLicense:282971-M1NWC-FP97E-MHFRO-UZQRY-F2WR0