如果我在Tomcat中部署兩次相同的Grails應用程序(即myApplication_first.war,myApplication_second.war),則Tomcat無法部署WAR文件,並且可重現。 它抱怨類XYZ已經存在於TEMP文件夾中(由於之前的部署,這是真的)。 因此,要更改全局Tomcat TEMP文件夾將沒有任何意義,因爲兩個項目無論如何都會再次使用相同的文件夾。如何在Tomcat中兩次部署相同的Grails應用程序?
我通常知道如何部署應用程序兩次,但不是在Grails環境中,因爲它自己管理了很多東西。
有沒有什麼辦法可以實現這個計劃?
我們使用Grails版本1.3.7。
我搜索了很多可能的解決方案,但沒有一個符合我的需求。
- 部署於多個Tomcat實例
- 部署只有一個應用程序,並使用一些唯一標識符來識別的強制性/客戶端,用於提供各個數據源之類的東西。 (見deploy the same application multiple times on tomcat)
- 被其他應用程序服務器
一個辦法,來到我的腦海替換Tomcat的,但還是顯得有點怪我,是,在部署期間動態更改所有類的包(與ANT或s.th.一樣)。這樣他們就不會在Tomcat TEMP文件夾中發生衝突。 這可能是一個潛在的解決方案? 它甚至可能以優雅的方式?
親切的問候, 克里斯托弗
你好湯姆,謝謝你的回覆。 讓我直截了當: 您將所有代碼大部分移入單獨的插件,並且此插件被所有其他(儘管類似)項目包含在內? Tomcat vhost: 這不是太晚了嗎? – 2012-07-09 14:35:49
第一部分:是的,正確的,我把所有的代碼移動到插件,然後創建單獨的應用程序與這個插件安裝,不同的只是數據庫配置(這是一個CMS應用程序......以清除;-)) 第二部分:好吧,如果你願意,你可以使用Apache和TomCat虛擬主機,這不是一個技術問題。但是對於TomCat中的虛擬主機,我想知道在將代碼移動到插件之前,現在是否可以幫助解決您的問題。 – 2012-07-09 15:23:32