IntelliJ IDEA 14.1上JFinal開發環境搭建手冊
轉載: http://my.oschina.net/chixn/blog/471755
實測成功
JFinal官方的教程都是使用Eclipse進行開發的,而使用Intellij IDEA來做開發,不少地方和Eclipse區別還是很大的。
本文參考了網上不少文章,主要沿用了網友的內容,一步一步做了嘗試後記錄下來,感謝萬能的網際網路。
分別做了兩個Module,分別使用Jetty和tomcat來執行。均測試均可正常跑起來。
本文看起來雖然很長,但實際上步驟不多,為便於初學者瞭解Intellij IDEA,所以細節寫的非常完善,每一步都有截圖。
本文使用的開發環境是Intellij IDEA 14.1.4版本。JFinal是2.0版。
請大家注意:不是Intellij IDEA配置繁瑣,而是我為了便於入門初學者少走彎路,寫得非常細,凡是每一個出現的介面,我都截了圖,而且文章裡面包含了jetty和tomcat的兩個專案。所以看起來比Eclipse好像複雜,其實不是的。簡單地說,就五個步驟:建專案(類比於Eclipse的Workspace),建模組(類比於Eclipse的Project),引入Jar包,建Artifacts,寫程式碼。就可以運行了。
一、新建專案
新建一個專案,可以是空專案,也可以是連模組一起建的專案,本文為了演示Jetty和tomcat均能執行的效果,所以先建一個空專案,再分別建兩個不同的module,以便區分。
如果專案和模組一起建,可以把Web Application選上,其他的預設就行。
因為我們要分別測試jetty和tomcat的效果,要建兩個模組,所以先建一個空專案。
點選“Next”進入下一步。
輸入專案名稱和專案所在目錄,點選“Finish”即可。
二、專案引數配置
1.新建Module
如果新建一個空專案,會立即出來一個Project Structure的配置視窗。如果是連模組一起建的,請從【File】-【Project Structure】中選擇,對專案引數進行配置。
首先指定專案所使用的JDK版本:
如果要單獨為每個模組指定JDK版本,也可以在模組中進行配置(要在下面的新建模組步驟之後才能操作)。
下面開始新建模組。
選擇Modules,準備新建Module。
2.建Jetty執行模組
(1)新建模組
我們先新建一個module,用於使用jetty來執行。
選上“Web Application”後,點選Next。
在出現的視窗中,直接在Module name中輸入想要新建的module名字,下面的Content root和Module file location中會自動把路徑填進去。
為了便於區分,我們把jetty執行的module命名為jf_jt。
點選“Finish”。
此時會出現如下介面;
選擇“Paths”選項卡,選中“Use module compile output path”後,在“Output path”和“Test output path”中均寫上類輸出的路徑。按照一般常規寫法,我把這個目錄放在module下,web\WEB-INF路徑下的classes目錄下。
點選“Apply”,把配置啟用起來;
(2)匯入類庫
然後點選左側的Libraries選項卡;
在做這一步之前,我們先要把需要的類庫分別拷貝到我們建立的類庫目錄中。
這個模組是需要jetty來執行的,所以需要JFinal的類庫和jetty的類庫,事先準備好這幾個類庫。
Jfinal-2.0-all目錄下有需要的類庫檔案。
“jfinal-2.0-bin.jar”或“jfinal-2.0-bin-with-src.jar”是jfinal本身的jar包,任選一個都可以,為了方便除錯,可以選擇“jfinal-2.0-bin-with-src.jar”。
目前這個專案是為了Jetty而建的,所以要把“jetty-server-8.1.8.jar”也要包含進去。
     在電腦中找到專案目錄,進入到Module路徑中,新建資料夾;
新建一個classes目錄(上文新建module時設定的輸出目錄)和lib目錄;
把“jfinal-2.0-bin.jar”和“jetty-server-8.1.8.jar”兩個檔案拷貝到剛才新建的lib目錄下(注意,使用jfinal-2.0-bin.jar和使用jfinal-2.0-bin-src.jar,後續介面會略有不同,但差異不大)。
回到Intellij IDEA配置介面。
選擇左側的Libraries選項卡,點選中間的“+”號,新增java類庫。
在彈出的視窗中,找到lib目錄並選中剛才拷進去的“jfinal-2.0-bin-with-src.jar”包。
點選“OK”。
此時會讓你選擇這些類庫將用於哪些module(如果你在專案中有多個module,在此均會列出來)在這裡,我們選擇這些類庫用於“jf_jt”module。
此時類庫就會出現在列表裡。
點選“Apply”,儲存配置。
再重複上述步驟,匯入jetty的jar包。匯入後如下圖所示:
再選擇左側的“Artifacts”選項卡,此時會出現空白的Artifacts介面。
或出現已經有一個“jf_ft.war exploded”的介面(如果關閉後重新開啟Project Structure介面就會出現)。建議:最好在匯入類庫後,點選“OK”,關閉本介面後,重新通過【File】-【Project Structure】選單開啟本介面後,選“Artifacts”選項卡進行操作,避免重複建立jf-ft.war exploded。
重新開啟介面,並選擇Artifacts選項卡後,介面會如下圖所示:
此時視窗下部會出現一條告警資訊。如上圖紅框部分。
此時點選“Fix…”按鍵,選擇“Add‘jfinal-2.0-bin-with-src’to the artifact”,即可。
設定好的介面如下圖所示(把Build on make選上);
點選“Apply”按鈕儲存設定;
再點選“+”號,新增一個“Web Application:Archive”,此時選“For ‘jfjt:war exploded’”;
建好後,介面如下圖所示(如果還有告警提示,按照上面步驟,點選“Fix”按鍵把類庫新增進Artifact中);
選中“Build on make”選項後,點“OK”按鍵儲存並退出配置介面。
至此Jetty執行的模組已經建好。
3.建Tomcat執行模組
(1)新建模組
點選【File】-【New】-【Module】:
選上“Web Application”,並點“Next”:
填上Module的名稱,這裡起名為jf-tc,然後點選“Finish”:
此時的介面是這樣:
(2)匯入類庫
現在可以直接在IDEA的介面建目錄classes和lib。
滑鼠右鍵點選[jf-tc]-[web]-[WEB-INF]目錄,在出來的選單裡點選【New】-【Directory】。
輸入classes和lib目錄的名稱:
建好目錄後的模組如下所示:
點選【File】-【Project Structure】進入專案,步驟和上一個模組建立的時候一樣,此時介面裡已經有兩個模組,選中jf-tc模組後,設定Path:
接下來再設定Libraries,在此之前,需要把jfinal-2.0-bin-with-src.jar拷貝到lib目錄下。
在“Libraries”選項卡中點“+”號,選“Java”:
這裡只需要匯入一個jar包即可(記住,目錄不要選錯,要選剛才拷進去的jf-tc模組下lib目錄的jfinal-2.0-bin-with-src.jar檔案)。
注意:選中目標Jar包後,選模組的時候,一定不要選錯。
點“OK”後,來到Artifacts選項卡:
新增一個Artifact
記住不要選錯模組。
新增成功後,記住Fix掉警告資訊(新加的兩個Artifact都要fix)。然後都選上“Build on make”選項。
至此,兩個模組都建好,可以開始真正的編寫程式碼之旅了。
三、修改執行配置
1.建立Jetty執行配置
點選【run】-【Edit Configurations】選單:
出現下面的介面,並點選左上角的“+”號,選“Application”選項:
設定一個名稱,在這裡命名為“jf-jt-jetty”。
設定Main Class(在出來的“Choose Main Class”窗口裡直接輸入com.jfinal……,下面會直接把class列出來,不用搜索和查詢).
設好Main Class以後,設定“working directory”和“Use classpath of module”兩項,如下圖所示:
點選“OK”,設定完成。
2.建立tomcat執行配置
點選【run】-【Edit Configurations】選單:
選擇【Tomcat Server】-【local】選單:
配置Tomcat引數,起一個名字,然後點選最右邊的“+”號,增加一個Artifact:
在出來的視窗中,選“jf-tc:war exploded”即exploded的那個war。
點選“OK”後,就配置完成了。
注意,這個Application context裡填寫的路徑,是你除錯或執行時出現的url的字尾,比如,如果你在此設定“/”,則最後是通過“http://localhost:8080/”執行和除錯;假如你在此設定為“/test”,則最後是通過“http://localhost:8080/test”進行訪問和除錯。
四、新增原始檔
現在可以新增原始檔了。我們可以分別在兩個專案下建立原始檔(建原始檔的過程不管上面jetty和tomcat專案都是一樣的,我們以tomcat專案來舉例):
我們在src路徑下,新增一個package名稱為com.demo.
再在這個package下建三個類:
內容如下:
另外再建兩個類HelloController.java和Indexcontroller.java,內容分別如下:
編輯模組下,web\WEB-INF路徑下的web.xml檔案,內容如下:
至此,tomcat部分已經完成,按同樣的方式配置jetty部分(也可以直接把package和web.xml檔案直接拷貝過去)。
五、執行專案
1.在jetty下執行
點選【Run】-【Run】選單:
頁面中間會出現讓你選擇執行哪個模組的選項,我們選擇jetty的模組。
此時IDEA介面下半部會顯示jetty的啟動資訊,如下:
說明jetty已經正常啟動了。
此時需要手動開啟瀏覽器頁面,輸入“http://localhost”,就會出現Index控制器對應的頁面。(注意,如果你的電腦上裝了別的Web伺服器,注意埠衝突)。
IDEA下部視窗會出現相應的除錯資訊。
輸入http://localhost/hello,會出現hello控制器對應的頁面。
2.在tomcat下執行
同樣點選【Run】-【Run】選單,在頁面中心的彈出選單選“jf-tc-tomcat”。
IDEA介面下半部分會顯示啟動tomcat過程中的日誌,等待tomcat啟動後,會自動呼叫本地瀏覽器視窗,把index頁面內容顯示出來。
輸入http://loaclhost:8080/hello
出來hello控制器中的內容:
六、專案實際部署
Intellij IDEA打包的war檔案位於專案根目錄的out目錄下。
把此檔案拷貝到tomcat的webapps目錄下(可以改名,例如改名為test.war),無需做任何修改,啟動tomcat後,直接訪問:http://ip:8080/test/即可正常訪問頁面。
要更改輸出目錄,請在【File】-【Project Structure】-【Project】標籤頁修改即可。