私は小さな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の新しいバージョンへの高度な
なぜあなたはそのようにストップ&スタートを処理していますか?また、 'Spark'クラスの' stop'メソッドですか? –
なぜ私はそれらをどのように扱うのですか? init()メソッドとstop()メソッドは、Sparkクラスのメソッドです。 – Troncoso