2014-09-30 140 views
4

在Tomcat應用程序特定的配置多個web應用我有兩個web應用在Eclipse中的Tomcat 7服務器一個b,需要找出如何讓應用程序特定的配置文件爲Tomcat適用於Eclipse。部署通過Eclipse

現在我想爲每個webapp定製一個自定義配置文件,如下所述:Apache Tomcat: multiple webapps。所以我創建了一個<TomcatDirectory>/conf/Catalina/localhost文件夾,並將a.xmlb.xml放在那裏。當我從命令行運行Tomcat時,這工作正常。

但是當我在eclipse中運行Tomcat時,我應該在哪裏放置應用程序特定的配置文件a.xmlb.xml

我已經嘗試過把這些文件在Eclipse中<EclipseWorkspace>\Servers\<ServerName>\conf\Catalina\localhost\但WTP不會將此文件複製到<EclipseWorkspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost

+1

爲什麼不把這個文件放到適當的webapp項目中? – 2014-10-06 10:12:05

+0

這些文件位於服務器中,因爲它們包含服務器特定的配置,如數據庫連接和密碼。 (因爲此配置因服務器而異,因此不能將它們放入應用程序中) – Ralph 2014-10-06 10:31:39

回答

3

從它們留在<TomcatDirectory>/conf/Catalina/localhost

服務器>打開>服務器的地址

變化: 使用工作區的元數據 要: 使用Tomcat安裝目錄

現在a.xmlb.xml from <TomcatDirectory>/conf/Catalina/localhost將被使用。

+0

感謝您的回答!它工作的很好,但我有重新部署它將我的配置文件重置爲默認的問題。 – David 2014-10-15 15:05:18

+0

我的猜測是,在重新部署時,它會從 \ Servers \ 中獲取文件(context.xml等)。更新它們。 – bigGuy 2014-10-16 08:15:42

+0

context.xml僅包含' WEB-INF/web.xml'。但它用'」path =「/ a」>'替換了我的兩個配置文件,因此這是單個webapps的上下文。如果我不在eclipse中添加webapps,它只會在發佈時刪除我的配置。 – David 2014-10-17 12:26:29

0

你所尋找的是有context.xml的文件兩個不同applications.create背景(a和b)META-INF文件夾下的.xml文件,您應該能夠使用它們自己的context.xml文件運行這兩個應用程序。在Eclipse中,你應該能夠在平行於WEB-INF目錄中相應的Web應用程序創建META-INF文件夾

+0

上下文文件無法放入應用程序中,因爲它們對於所有服務器都不相同 - 這就是它們位於服務器。 – Ralph 2014-10-06 10:33:45

+0

我認爲David提到了特定的服務器,Tomcat和context.xml在Tomcat中工作正常。 – 2014-10-06 11:16:39

+0

位於/conf/Catalina/localhost中的應用程序特定配置文件(帶有描述此技術的問題/答案的鏈接) - 我不知道如何更好地表達它 - 您有想法嗎? - 順便說一句。大衛是我的大學,我建議他發佈他的問題在堆棧溢出 – Ralph 2014-10-06 11:18:57

1

如果它是發展的目的,你可以指定一個文件夾放到上下文文件的這樣的「的docBase」屬性:

<?xml version="1.0" encoding="UTF-8"?> 
<Context crossContext="true" docBase="C:/devel/MyApp/web/target/MyApp-web" path="/MyApp" reloadable="true"> 
    <Resource 
     ... /> 
</Context> 

通過增加這些方面文件直接導入到/ conf目錄/卡塔利娜/本地主機,一切都配置和應該像你想要的工作,但你將不得不停止tomcat服務器每次你想要清理和建立你的項目。