2016-07-27 17 views
0

現在、JHipster 3と一緒にJavaバックエンドを開発しており、非常に簡単に解決できないような問題に遭遇しました。プロジェクト外のフォルダから静的コンテンツを配信する

JHipsterによって生成されたデフォルトのフロントエンドに加えて、プロジェクト外のフォルダからスタティックアセット(この場合はイメージ)を提供したいと思います。デフォルトでは、JHipsterはmain/java/config/WebConfigurer.javaで設定されているように、環境に応じて2つのディレクトリのうち1つのディレクトリから静的資産を提供するようです。 /public/**を私の家のカタログのフォルダに向けたいが、Angularフロントエンドのために/**マッピングを維持する。

一般的に、Springプロジェクトでは、WebMvcConfigurerAdapterを拡張して静的アセットの他のソースを追加し、addResourceHandlersメソッドをオーバーライドすることができますが、私の場合は効果がないようです。 @EnableWebMvcアノテーションを追加すると、フロントエンドのデフォルトJHipsterマッピングが解除されます。注釈を追加しないと、正しいサーブレットへのマッピングを処理するがDefaultServletHttpRequestHandlerに届いているようにも見えません。

現時点では、他の情報を与えることはできませんが、JHipsterに関する知識を持っている人がこれを見て正しい方向に向いてくれることを願っています。

ありがとうございます。

答えて

0

すべてのアプリサーバーには、クラスパスの追加の場所を指定するオプションがあります。
たとえば、Tomcatのプロパティはconf/catalina.propertiesの 'common.loader'です。

たとえば、 SpringのClassPathResource手動でリソースをロードするか、 '@Value( "classpath:abc.txt")Resource r'のような構造体を使用して、事前に既知のものを注入してください。

+0

答えていただきありがとうございますが、私はクラスパスからではなく、ファイルシステムからアセットを提供したいと考えています。 JHipsterが提供するデフォルトのソースの横に静的コンテンツを提供するための追加のソースを追加したいと思います。 –

+0

私はクラスパスが行く方法だと思います。私はJHipsterに精通していませんが、あなたのデフォルトのソースは、たぶんクラスパスに関連したちょっとした場所です。 – Alexander

関連する問題