私はJavaにはとても新しいので、なぜこれが起こっているのか分かりません。inteliJでのjetty + Jerseyの動作がJarで失敗する
私はJersey + Jettyを使用して小さなJavaアプリケーションを開発しました。これはintelliJで実行すると完全に動作しますが、jarファイルでは動作しません。 私はlocalhost:2222に行きます。桟橋は私にindex.htmlページ を表示する必要がありますが、代わりにこのサーバーのコンテキストはこの要求と一致または処理されません。
ジャーはあなたの指定されたコンテキスト・パスは、その組み込み桟橋コードで/rest
であるこれらの命令How to build jars from IntelliJ properly?
public class App{
private static final int SERVER_PORT = 2222;
public static void main(String[] args) throws Exception {
URI baseUri = UriBuilder.fromUri("http://localhost").port(SERVER_PORT)
.build();
ResourceConfig config = new ResourceConfig(Resource.class);
Server server = JettyHttpContainerFactory.createServer(baseUri, config,
false);
ContextHandler contextHandler = new ContextHandler("/rest");
contextHandler.setHandler(server.getHandler());
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setWelcomeFiles(new String[] { "index.html" });
resourceHandler.setResourceBase("src/Web");
HandlerCollection handlerCollection = new HandlerCollection();
handlerCollection.setHandlers(new Handler[] { resourceHandler,
contextHandler, new DefaultHandler() });
server.setHandler(handlerCollection);
server.start();
server.join();
}
}
これも機能しません。 IDEからlocalhost:2222を実行すると、index.htmlページが意図したとおりに表示されます。しかし、私が瓶からそれを実行するとき、それはしません。 ジャージーが瓶から抜け落ちていると思いますが、それが本当であるかどうかを確認するにはJavaについて十分に知りません。 – EarlyDev
あなたのjarファイルのindex.htmlは 'src/Web'フォルダに入っていますか? –
はい、私は問題が今すぐ答えを投稿することがわかった – EarlyDev