저는 Java에 매우 익숙합니다. 왜 이런 일이 일어나고 있는지 잘 모르겠습니다.부두 + Jersey가 intelliJ에서 작동하지 않습니다.
저는 Jersey + Jetty를 사용하여 작은 자바 응용 프로그램을 개발했습니다. 이것은 intelliJ에서 실행할 때 완벽하게 작동하지만 항아리에서는 작동하지 않습니다. 내가 localhost : 2222 부두로 갈 때 부두가 나에게 index.html 페이지 를 표시해야하지만 부두가이 서버의 컨텍스트에서이 요청과 일치하거나 처리하지 못했다고합니다.
항아리는이 지침 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