2017-07-06 16 views
1

現在作業中のlibパッケージにいくつかのファイルがあります。複数のプロジェクトで使用する必要があるため、Webサーバー内に直接ファイルを置くことはできません。Struts2.5 Webサーバーからの外部プロジェクトの静的Webリソースへのアクセス

私のStruts2.5 WebサーバーがLibパッケージからいくつかの静的ファイルを提供できるようにします。私はweb-fragment.xmlソリューションを使用してみましたが、what I gather from oracleから、ライブラリパッケージをコンパイルし、どこかのディレクトリMETA-INFに置いた場合にのみ動作します。 html/jsを変更するたびに新しいビルドを作成してそこにコピーする必要があるので、これは問題ありません。これは間違った解決策のように私に聞こえる。

xml構成でこれを行う方法がある場合は、私が読んだことから明らかにされていません。私が正しい方向を指すことができれば、それは役に立ちます。

Eclipseでこれを行う方法があれば、それも受け入れられるでしょう。記録のために、このプロジェクトは、Javaビルド・パスで必須プロジェクトとしてEclipse内の他のプロジェクトによって参照されます。

答えて

1

静的ファイルをWebコンテンツルート(/)に置きます。 Strutsに静的コンテンツを提供させたい場合は、/staticの下に置きます。 Strutsはクラスパスから静的コンテンツを提供することもできますが、それはあなたの選択肢ではないようです。

Load image in jsp from different URL but same domainのための私の答えを読む:

あなたはStatic Content用ドキュメント内の静的コンテンツローダーと構成設定についての詳細を読むことができます。


あなたがパッケージ化および展開静的ファイルを別の.warファイルで、アプリケーションからこれらのファイルにアクセスするためのコンテキストパスを指定する場合は、他のWebアプリケーションから同じ静的ファイルを再利用することができます。同じドメインまたは別のドメインから配信される可能性があります。

ウェブアプリケーションが展開されたときに静的ファイルを使用してWebアプリケーションをデプロイすることができるため、アプリケーションをデプロイするたびにパッケージ化する必要はなく、別のアプリケーションの場合は他のアプリケーションを再デプロイする必要はなく、それらがファイルへのアクセス・パスの影響を受けていない場合は除きます。

ビルド中にEclipseがプロジェクトファイルを最終的に.warにコピーし、すべてのWebアプリケーションに共有ファイルのコピーがあるため、静的コンテンツを含むプロジェクトをEclipse内の他のプロジェクトと共有することもできます。いくつかの共有ファイルを変更する場合は、作業中のプロジェクトのみを再構築/再デプロイする必要があります。このプロジェクトを依存関係として持つ他のプロジェクトは、必要に応じて再構築/再展開できます。いくつかのWebアプリケーションを変更しても実行中の他のWebアプリケーションには影響しないので、最も信頼できるソリューションと思われます。

+0

おかげさまで、2番目のアプローチは、私が取るべきルートのように聞こえます。これらの勧告に基づいて何かを得ることができるかどうかがわかります。 –

関連する問題