1. 程式人生 > >Idea匯入專案及部署至Tomcat(從Eclipse到Idea的華麗轉身)

Idea匯入專案及部署至Tomcat(從Eclipse到Idea的華麗轉身)

長時間使用Eclipse或者MyEclipse慢慢的就會發現越來越蛋疼。過於簡單粗暴的介面,過多而無用的外掛……廢話不多說,進入正題。

首先需要明確一個問題:在傳統的Eclipse中的workspace和project相信大家都有一定的瞭解。但是在Idea中沒有了workspace,轉而出現了project和module。相信聰明的觀眾老爺,能猜出來。沒錯,在Idea中project就相當於Eclipse中的workspace,module就相當於Eclipse中的project。

環境說明

筆者使用的IntelliJ IDEA版本是:2017.2.4

匯入專案

在Idea中建立一個空的project(相當於在Eclipse中建立了一個workspace)

  1. File -> New -> Project -> Empty Project,然後選擇下一步
  2. 輸入Project的名字,並選擇Project的位置,然後點選Finish
  3. 會彈窗提示在新視窗開啟還是在當前視窗開啟,這裡隨意選擇。筆者選擇在當前視窗開啟。

配置環境JDK

  • 開啟專案結構 快捷鍵:Ctrl + Shift + Alt + S
  • 選擇Project
  • 在Project SDK 選擇New, 選一個本地的JDK_HOME 目錄

匯入傳統結構的專案

  • 開啟專案結構 快捷鍵:Ctrl + Shift + Alt + S

  • 匯入Eclipse建立的Web專案
  • 選擇Modules,點選+ ,我們這裡是匯入專案所以選擇 Import Module ,如果需要新建一個專案可以選擇New Module
  • 選擇專案所在磁碟的路徑, 因為專案是Eclipse建立的,所以我們選擇Eclipse這個選項, 一路 Next,最後一步選中我們匯入的專案,Finish 完成。
  • 匯入一個專案之後會預設選擇這個模組, 例如本例子中的Hello (如果沒有可以開啟專案結構視窗,選擇Modules中的Hello模組即可), 在這個模組中有幾個選項卡,Sources, Paths, Dependencies 這幾個。

  • Sources 選項卡, 我們可以看到Hello 模組的專案結構,在這裡我們可以設定哪一個是原始碼檔案,哪一個是資原始檔夾,測試原始碼, 測試資原始檔等。

  • Paths 選擇模組的輸出路徑

  • Dependencies 這裡配置模組的依賴關係, 配置jdk,刪除不需要的依賴關係

匯入Maven專案

  • 和匯入傳統專案類似,唯一不同的是 要選擇Maven選項,而不是Eclipse。在匯入時,要選擇pom.xml檔案的上級目錄,這一點有別於eclipse

部署專案到Tomcat

配置tomcat

  • 點選工具欄的設定按鈕 -> Edit configurations

  • Name 給tomcat配置一個名字
  • Application server 右側 Configure 配置tomcat所有目錄
  • Open browser 啟動專案後使用哪一個瀏覽器開啟,並且配置一個訪問的url,
  • VM options 配置jvm引數,如果專案啟動報記憶體溢位,可以在這裡更改
  • JRE tomcat 使用的jdk
  • Tomcat Server Settings 配置tomcat埠

現在tomcat中還沒有部署任何 artifact 。接下來我們來建立artifact

配置artifact

現在工程中只有兩個模組,一個是從eclipse中匯入的專案(Hello),另一個是匯入的Maven專案(comtest)專案專案結構視窗中選擇Artifacts可以看到可以部署到tomcat中的artifact。

這裡寫圖片描述
這裡寫圖片描述

我們可以看到Artifacts中只有Maven的專案並沒有Eclipse匯入的專案?我們要部署那個沒有的專案怎麼辦呢? 因為Eclipse匯入的專案沒有新增web模組到專案中,如果Maven工程pom檔案沒有把打包方式設定成war 在Artifacts 中也會沒有。

這裡寫圖片描述

接下來我們新增給Hello模組新增web。

這裡寫圖片描述

注意新增完Web後會出現兩個路徑要根據自己專案的實際情況來更改。在Eclipse中預設的Deployment Root 的名字是WebRoot, 而在idea中名字叫web。

這裡寫圖片描述

我們對應修改就行了。因為本例子中Hello專案是Eclipse中的匯入的,我們要改成WebRoot。

這裡寫圖片描述

修改完路徑,我們可以直接新增到artifact,Fix -> Create Artifact 就可以了。

這裡寫圖片描述

也可以在Artifacts 視窗新增,都是可以的

這裡寫圖片描述

部署artifacts 到tomcat

如果在Tomcat要部署多個artifact ,要注意 Application context 的路徑不要有衝突。

如果以Debug模式啟動,要熱更新class和靜態資源的話,要在Server中設定On Update actionOn frame deactivationUpdate classes and resources

這裡寫圖片描述

啟動Tomcat

這裡寫圖片描述

兩個按鈕一個是正常啟動,一個是除錯啟動。到目前為止就可以了。。。。。。

最後多說幾句

在啟動的時候可能遇到編譯級別的問題。

Error:(16, 61) java: '<>' operator is not allowed for source level below 1.7

  • 如果是Maven專案 需要在pom檔案中指定專案的編譯級別。編譯的輸出是按照pom構建專案的。需要注意專案資原始檔的拷貝
<build>
       <finalName>test</finalName>
       <resources>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.hbm.xml</include>
               </includes>
               <filtering>false</filtering>
           </resource>
           <resource>
               <directory>src/main/resources</directory>
               <includes>
                   <include>**/*.xml</include>
                   <include>**/*.properties</include>
               </includes>
           </resource>
       </resources>
       <plugins>
           <plugin>
               <artifactId>maven-war-plugin</artifactId>
               <version>2.4</version>
           </plugin>
           <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                   <source>1.7</source>
                   <target>1.7</target>
               </configuration>
           </plugin>
       </plugins>
</build>
  • 如果專案中既有jdk6 和 jdk7 就要新增多個jdk,(新增方法上文中有提到),還要更改專案的編譯級別。

這裡寫圖片描述

  • 部署到Tomcat

還要更改Tomcat 的jdk版本, 如果部署的專案既用到jdk6 和jdk7 ,就要把Tomcat的jdk更改為7。

這裡寫圖片描述