2017-10-26 6 views
0

私は小さなWebサーバーにspark javaを使用しています。私のメインクラスでは、私は、セットアップのものは私が必要: 再起動後のSparkjava静的ファイル404

public static void startServer() 
{ 
    if (!starting && !stopping) 
    { 
     starting = true; 

     // Initialize server 
     port(port); 
     secure(keystoreLocation, keystorePass, null, null); 

     // Register all routes 
     initRoutes(); 

     // Start server 
     init(); 

     starting = false; 
    } 
} 

そしてinitRoutesで

、私が持っている:私はそのコードを実行すると

public static void initRoutes() 
{ 
    Spark.staticFileLocation("/public"); 
} 

が、私はローカルホストに移動し、内容を見ることができています私のindex.htmlページのsrc/main/resources/publicにあります。私もログにこれを見る:

10:24:17.151 [INFO ] - StaticResourceHandler configured with folder = /public 

しかし、私は、サーバーを再起動するプロセスを実行すると、静的ファイルの場所が失われているようだ。

ここに私のstopServerメソッドとrestartServerメソッドがあります。

public static void stopServer() 
{ 
    if (!stopping && !starting) 
    { 
     stopping = true; 

     stop(); 

     try 
     { 
      // This is temporary until the ability to wait for the service to 
      // stop comes along 
      Thread.sleep(10 * 1000); 
     } 
     catch (InterruptedException ex) 
     { 
      LogUtil.warn("Failed to wait while server shuts down", ex); 
     } 

     stopping = false; 
    } 
} 

public static void restartServer() 
{ 
    stopServer(); 
    startServer(); 
} 

ログは、この行を示しています

10:33:52.768 [WARN ] - Static file location has already been set 

しかし、私は再びホーム・ページにアクセスしようとすると、私は404を取得したログが、これは言う:

10:34:22.260 [INFO ] - The requested route [/] has not been mapped in Spark for Accept: [text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8] 

私の他ルート(簡潔にするために省略)はちょうど良い再初期化します。私はサーバーを再起動しても、問題なくナビゲートすることができます。

スタティックファイルの場所を変更する必要はありませんが、サーバーの再起動の間にその設定が維持されることが本当に好きです。多分私は再起動をやっているのでしょうか?私はそれを行うための適切なプロセスに関する多くの情報を見つけることができませんでした。火花のJava、すなわち2.7.0の新しいバージョンへの高度な

+0

なぜあなたはそのようにストップ&スタートを処理していますか?また、 'Spark'クラスの' stop'メソッドですか? –

+0

なぜ私はそれらをどのように扱うのですか? init()メソッドとstop()メソッドは、Sparkクラスのメソッドです。 – Troncoso

答えて

関連する問題