IntelliJ IDEA 12 與 Tomcat7 配置


IDEA 全稱 IntelliJ IDEA,是java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、各類版本工具(git、svn、github等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費版只支持Java等少數語言。

系統配置:win7 64bit,IntelliJ IDEA 12,tomcat7

先說一下與Tomcat相關的兩個配置:

1、配置默認端口

在tomcat安裝目錄的conf目錄下的server.xml文件中,以下內容中的port屬性指定了默認端口: 

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

2、將url與web程序目錄綁定 
 默認的根目錄是tomcat7\webapps\ROOT,我們可以在conf\server.xml文件Host標簽中指定根目錄和其他目錄,例如: 

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
    <Context docBase="F:\aaa" path="/aaa" reloadable="true"/>
    <Context docBase="F:\bbb" path="/bbb" debug="0" reloadable="true" crossContext="true" />
</Host>

根據上面的配置,我們訪問http://127.0.0.1/aaa時候,使用F:\aaa目錄中的web程序,bbb同理。根路徑不變。http://nj-apple-tree.iteye.com/blog/1635953中提到了三種設置根目錄的方法:

在Tomcat默認安裝后,tomcat的主目錄是webapps/root目錄,所以如果想改變tomcat的主目錄的話可以如下所做,所以 
第一種方法是: 
打開C:/Tomcat/conf/server.xml,在<host></host>之間 
加入代碼:<Context docBase="d:/Tomcat 5.5/webapps/medi" path="" debug="0"  reloadable="true"/> 
這樣重新啟動tomcat,我們的主目錄就被設置為dolphin這個項目了。 

第二種方法是: 
將tomcat安裝目錄下的ROOT下的所有文件全部刪除,然后將工程的解壓后的文件全部拷進去。 

第三種方法是: 
Tomcat5.0以下版本在d:/Tomcat/conf/Catalina/localhost目錄下會自動生成了一個ROOT.Xml, 
但是5.0以上版本不再生成此文件,所以可以新建個ROOT.xml,在里面加入如下代碼: 
<?Xml version='1.0' encoding='utf-8'?> 
  <Context crossContext="true" docBase="d:/Tomcat 5.5/webapps/medi" path="" reloadable="true"> 
</Context>

回到正題,說說如何配置IntelliJ IDEA 12 與 Tomcat7:

1、使用IDEA建立一個J2EE項目todo_web,放在F:\idea_wp\todo_web目錄下,將index.jsp內容修改如下。

<%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title></title>
  </head>
  <body>
             hi, todo.
  </body>
</html>

同時。由於webapps\ROOT以前被我清空了,在該目錄里建立文件index.html,內容如下: 

hello tomcat

2、依次點擊“File -> settings ->Application Servers”,在窗口右側添加tomcat,設置tomcat home、base dir。 
3、(可選)打開“File -> Project Structure”,查看Project SDK,libs,Artifact等有沒有配置好。

4、打開“Run -> Edit Configurations”,點擊左側的“+”以添加服務器,並作配置:

“OK”后,點擊myTomcat右邊的運行按鈕(綠色三角形): 

運行效果以及其他:

這時候,我們在瀏覽器中訪問http://127.0.0.1:8080/,會看到“hello tomcat”,而訪問http://localhost:8080/todo/可以看到“hi,todo”。 
我們看到訪問todo產生效果了,但是 tomcat\conf目錄並未改變,比如我們關掉IDEA啟動的tomcat進程。我們進入tomcat的bin目錄直接運行startup.bat,這時候無法訪問“/todo”,原因很簡單,IDEA運行tomcat時候重新設置了變量,以下是其啟動tomcat時候的部分輸出:

[2013-10-30 06:57:57,692] Artifact web:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\letian\.IntelliJIdea12\system\tomcat\Unnamed_todo_web"
Using CATALINA_HOME:   "D:\tomcat7"
Using CATALINA_TMPDIR: "D:\tomcat7\temp"
Using JRE_HOME:        "D:\java\jre_7u25_32bit"

我們打開目錄C:\Users\letian\.IntelliJIdea12\system\tomcat\Unnamed_todo_web,可以看到conf目錄,server.xml文件中Host標簽的appBase屬性指定的目錄被改成了絕對路徑(D:\tomcat7\webapps),在\Catalina\localhost目錄下有了新文件todo.xml,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/todo" docBase="F:\idea_wp\todo_web\out\artifacts\web_war_exploded" />

所以IDEA能夠做到對每一個web項目啟動一個tomcat,只要port不同即可。

 繼續

以上的配置開始時候都沒有,一段時間后發現總是部署不了,沒找到原因,干脆再配置一下, 
 1、打開“File -> Project Structure ->Artifacts”,添加web application exploded,命名為todo_web:

2、打開“Run -> Edit configurations ”,編輯myTomcat: 

這時,運行成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM