2016-08-20 6 views
1

で静的な場所を設定するとき、私はと私は私の静的リソースの場所を設定し、基本的な火花のJavaアプリを持っている:私はときに私によって私のIDEでそれを実行したときにそれは素晴らしい作品例外瓶

Spark.staticFiles.location("/static"); 

を瓶からそれを実行しようと、私は同様の問題を論じてthis threadを見つけ

spark.staticfiles.StaticFilesConfiguration - Error when creating StaticResourceHandler 
java.io.FileNotFoundException: class path resource [static] cannot be resolved to URL because it does not exist 
at spark.resource.ClassPathResource.getURL(ClassPathResource.java:166) 

を取得します。それは2.5で修正されると主張していますが、私は2.5を実行していて、この問題をまだ経験しています。

誰でも静的にスパークを使用せず、CDNから外部に提供する以外に、この問題を回避する方法を見つけましたか?

答えて

0

/staticディレクトリは、プロジェクト構造次第ではクラスパスのルートにする必要があります。 maven構造体を使用する場合は、/resourcesディレクトリに静的ディレクトリを作成できます。他のアプローチは、/staticディレクトリをJavaパッケージとして作成することで、クラスパス内にあることを保証します。

+0

私の静的フォルダは適切な場所にありましたが、まだ動作していませんでした。私はすべてを爆発させ、瓶の代わりにそれを配備しました。これはうまくいくようです。 – ptulula

0

同じ問題がありました。 jarファイルから実行しようとすると。 jarファイルをビルドするときは、外部の場所を使用する必要があります。

staticFiles.externalLocation(System.getProperty( "app.dir")+ "\ public");

など。アプリケーションディレクトリはC:¥serverです。あなたはCMDからアプリケーションを実行する必要があり、公共

\ \サーバー:\サーバー\ app.jarし、HTML、CにあるJSファイル: アプリケーションはCで構築javaの-Dapp.dir = "C:¥server" -jar app.jar