我們用mvn創建了一個web工程,同時希望在eclipse里調試開發。mvn有mvn的路徑要求,eclispe有eclipse的默認路徑,怎么整合二者?
首先介紹一下eclipse的默認路徑。
重點在Server Locations里面。
下面我們把[workspace]/.metadata\.plugins\org.eclipse.wst.server.core\ 記為 [BASE]
假設我們創建的web project 名為 bookstore,在eclipse中選中project,執行“run on server”后真正執行的代碼位于:[BASE]/tmp0/wtpwebapp/bookstore
下面我們說明這個路徑是怎么確定的
tmp0 是由 [BASE]/tmp-data.xml確定的。我們每建立一個server,[Base] 下就會增加一個tmp 目錄,并在tmp-data.xml中記錄server和tmp目錄的對應關系。
webpwebapp是在[BASE]\servers.xml 中確定的
<servers>
<server deployDir="..." ...>
...
<server>
<server deployDir="..." ...>
...
<server>
<servers>
在servers.xml 里定義了每個server的deployDir, 默認值為 “wtpwebapps"。
最后,bookstore怎么確定的呢?在 [workspace]/Servers/[Tomcat v7.0 Server at localhost-config]/server.xml 里
<Server>
<Service>
<Engine>
<Host>
<Context docBase="bookstore" .../>
<Host>
</Engine>
</Service>
</Server>
?
如果我們用mvn建立了工程,假設生成路徑為 [proj]/bookstore/target/bookstore-SNAPSHOT
想在eclipse里調試.../target/bookstore-SNAPSHOT,需要如下修改:
1. [base]/Servers.xml : servers/server.deployDir ="[proj]/bookstore/target"
2. server.xml: Server/Service/Engine/Host/Context.docBase="bookstore-SNAPSHOT"
?
[base]/tmp0/conf 下的xml文件是在eclipse中啟動tomcat時根據 project中的Servers/TomcatV7.0 Server at localhost/*.xml生成的
?