Mavenを使用してJavaWebプロジェクトをTomcat6.0サーバーにデプロイしています。私は戦争であるプロジェクトという名前の「システム」を持っており、彼自身のJSF構成とJSF管理対象Beanを持っています。
目標は、このシステムにいくつかのアプリをインストールできることであり、アプリ自体にもWebコンテンツとJSF構成があります。私の問題はここにあり、2つの選択肢があります。
アプリをjarファイルとしてコンパイルする場合、faces-config.xmlファイルはプロジェクトのMETA-INFフォルダーに保存する必要があるため、jarをロードするときに、JSFはこのファイルがデフォルトの場所にあるため、このファイルを見つけることができます。ただし、私のアプリにはWebコンテンツも含まれているため、読みたい場合はメインシステム(webapp)の場所に保存する必要があります。これは機能的ですが、エレガントなソリューションではありません。
私がやりたいのは、アプリをwarファイルとして定義し、それをメインシステムのPOMファイルに含めることです。これにより、アプリのすべてのWebコンテンツがサーバーに自動的に公開されます。それは良い考えですが、faces-config.xmlファイルで何ができますか?システムにすでに定義されているファイルがあり、Mavenがそれをデプロイしようとすると、サーバーに同じ名前のファイルがすでに存在していることがわかります。そのため、システムからアプリのJSF構成を取得できません。
web.xmlのcontext-paramを使用して、複数のjsf-configファイルを定義する方法があります。そのようなものは機能しますが、動的にしたいと思います。
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml, /WEB-INF/faces-managed-beans.xml,/WEB-INF/faces-navigation.xml</param-value>
</context-param>
誰かがそれについて何か考えを持っていますか?前もって感謝します!