2017-05-17 19 views
0

IDEA와 Maven이 포함 된 jersey 임베디드 프로젝트 &을 게시하려면 Github https://github.com/Mengqi777/JettyProject에 넣으십시오. 실행 JettyServerStart.java는 브라우저의 주소 표시 줄에 localhost:8080/static를 입력 localhost:8080/dynamic, OK 쇼를 입력 지금은 전쟁 파일로 패키지 jetty9에 내장 된 부두 및 저지 전쟁을 배포하고 정적 파일 만 볼 수 있습니까?

정적 리소스 파일

을 보여주고, 부두 webapps 디렉토리에 넣어 서버를 시작합니다. 하지만 브라우저에서 정적 파일 만 볼 수 있습니다. localhost:8080/static .404 찾을 수 없음 브라우저에 입력 할 때 오류가 발생했습니다. localhost:8080/dynamic

무슨 일이 생겼습니까?

이 프로젝트를 war 파일이나 jar 파일에 패키지화하고 jetty에서 성공적으로 실행하려면 어떻게해야합니까?

+0

이제 IDEA에서이 임베디드 프로젝트 만 실행할 수 있습니다. 제가 알고 싶은 것은 IDEA없이 어떻게 실행해야합니까? –

답변

0

Webapp 또는 war 파일에서 선언/구성하지 않은 JettyServerStart.java의 임베디드 - jetty 사용법에서 작업을 수행하고 있습니다.

그것은 받는다는 프로젝트, 그러나 (pom.xml 파일에서)는 웹 애플리케이션 또는 전쟁 프로젝트로 선언되지

그것의 적절한 장소에서 WEB-INF (받는다는 디렉토리 구조 현명한)를하지 않는 귀하의 빌드 된 전쟁 파일이 유효하지 않음을 의미합니다.

종속성은 (당신이 전쟁 파일에서 부두 서버를 포함 할 수 없습니다)는 웹 애플리케이션 또는 전쟁 프로젝트에 대해 올바르게 선언되지 않은

과 같은 구성 단계를 수행하지 않습니다 심하게 위치한 WEB-INF/web.xml을 귀하의 JettyServerStart.java

이 war 파일을 지원하기 위해 ${jetty.base} 디렉토리를 어떻게 작성 하였습니까?

jetty-distribution 또는 jetty-home의 버전을 다운로드했거나 사용하려고 시도하지 않았습니다.

"부두 창고 디렉토리에 넣어 둡니다"라는 문구가 명확하지 않습니다. (jetty-distribution/webapps를 사용하면 유효하지 않으며 자신의 웹 응용 프로그램에 사용하려고하면 많은 오류와 경고가 발생하고 부두/웹 응용 프로그램은 없으며 부두 기본 구성을 식별하지 못합니다)

프로젝트가 지금 선언 된 방식으로, 수동으로 어셈블 된 경우에도 완전히 maven을 건너 뛰고, 서블릿, 필터, 리스너, 초기화자가 없음, 서블릿 스펙 만 필요 url-pattern / 정적 컨텐츠를 제공하는 DefaultServlet. 그렇기 때문에 http://localhost:8080/static/에 액세스하는 것이 그 밖의 것은 아닙니다.

+0

대단히 감사합니다. 부두와 메이븐에 대해 거의 알지 못합니다. –