同じGrailsアプリケーションをTomcatに2回デプロイすると(つまり、myApplication_first.war、myApplication_second.war)、TomcatはWARファイルをデプロイできず、再現可能です。クラスXYZがすでにTEMPフォルダーに存在していると文句を言います(これは、以前の展開のために当てはまります)。したがって、グローバルなTomcat TEMPフォルダーを変更しても、どちらのプロジェクトも同じフォルダーを再び使用するため、意味がありません。
私は一般に、アプリケーションを2回デプロイする方法を知っていますが、Grailsのコンテキストでは、それ自体ですでに多くのものを管理しているため、そうではありません。
この計画を実現する方法はありますか?
Grailsバージョン1.3.7を使用します。
私は考えられる解決策をたくさん探しましたが、どれも私のニーズに合いませんでした。
- 複数のTomcatインスタンスにデプロイする
- 1つのアプリケーションのみをデプロイし、いくつかの一意の識別子を使用して、個々のデータソースなどを提供するための必須/クライアントを識別します。(同じアプリケーションをtomcatに複数回デプロイするを参照してください)
- Tomcatを別のアプリケーションサーバーに置き換えます
私の頭に浮かんだアプローチの1つは、まだ少し奇妙に思えますが、デプロイメント中にすべてのクラスのパッケージをその場で変更することです(ANTまたはそのようなs.th.を使用)。それらがTomcatTEMPフォルダーで衝突できないようにします。これは潜在的に解決策になる可能性がありますか?エレガントな方法でさえ可能ですか?
よろしく、クリストファー