eclipse 与 tomcat 的那些路径

时间:2023-03-10 07:27:48
eclipse 与 tomcat 的那些路径

我们用mvn创建了一个web工程,同时希望在eclipse里调试开发。mvn有mvn的路径要求,eclispe有eclipse的默认路径,怎么整合二者?

首先介绍一下eclipse的默认路径。

eclipse 与 tomcat 的那些路径

重点在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生成的