2013-04-28 2 views
2

간혹 프로젝트 (예 : 동형의 스마트 클라이언트)에 매우 많은 작은 파일을 보관해야하는 경우가 있습니다. 약 10k 개의 작은 파일입니다. 거기 svn (내가 어떻게 자식을 처리할지 모르겠다), 복사, 포장,하지만 그 파일은 거의 외부 라이브러리로 변경되지 않습니다. 그들을 하나의 zip 파일에 보관하고 그 파일 내부에서 Tomcat에 호스트하도록 지시하는 방법이 있습니까? 아니면 다르게 처리해야합니까? 모범 사례?많은 정적 파일을 호스팅하는 모범 사례

더욱 정확하게는. 내 폴더 구조는 다음과 같습니다.

src/main/ 
    +---webapp/ 
    |  +---static/ <-- thousand 3rd party's files in this dir 
    | 
    +---java/ 

Maven은 코드와 정적 파일로 전쟁을 일으키며 작동합니다. 하지만 전쟁이 시작되기 전에 너무 많은 파일로 작업하는 것이 PINA입니다. 나는 sth를 좋아할 것이다 :

src/main/ 
    +---webapp/ 
    |  +---static.zip <-- only 1 file 
    | 
    +---java/ 

인기있는 웹 서버에서 가능합니까?

+0

어쩌면 전쟁 파일을 사용하고 있습니다 :

그래서 당신이 원하는 경우 정적 자원 foo.hml의 URL은

http://localhost/myWebApp/static/foo.html, 

는이 디렉토리/항아리 구조를 가지고 있어야 할 수? – Randy

+0

나는 그 파일들과 응용 프로그램을 포함하고있는 war 파일을 만들어야 만한다. 내 코드를 바꿀 때마다해야한다. 그리고 내 디스크, IDE 등등에 그 파일을 갖고 싶지 않다. – piotrek

+1

전쟁 파일은 해결책이 아니라 항아리이다. 이 방법이 적합하지 않다면 ** 문제에 대한 설명을 ** 추가하십시오 (의견에 없음). –

답변

1

servlet-3.0 웹 애플리케이션을 사용하는 경우 jar 파일을 만들고이 정적 jar 파일의 META-INF/resources 아래에 모든 정적 리소스를 넣으십시오. 그런 다음이 jar 파일을 웹 응용 프로그램의 WEB-INF/lib에 저장하면 컨테이너가 웹 응용 프로그램의 루트에있는 것처럼 정적 리소스를 제공합니다.

webapp 
    WEB-INF 
    lib 
     static.jar 
     META-INF 
      resources 
      static 
       foo.html 
관련 문제