2015-03-08 2 views
0

Я использую StaticHttpHandler обслуживать статические файлы с абсолютного путь:Обслуживание статических файлов из JAR-файл

httpServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("/home/user/.../project/src/main/resources/static)); 

Как я могу упаковать и обслуживать статические файлы из конечного жира банки генерируемой mvn assembly:single ?

моя часть моего pom.xml файла выглядит

<build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <includes> 
        <include>*</include>      
       </includes> 
      </resource>    
     </resources> 
</build> 

ответ

1

Данной конфигурация

<build> 
    <resources> 
    <resource> 
     <directory>src/main/resources</directory> 
     <includes> 
      <include>*</include>      
     </includes> 
    </resource>    
    </resources> 
</build> 

это не обязателен потому что это по умолчанию.

Кроме того, чтобы получить ресурсы, которые расположены там хорошо знать, что они будут упакованы в соответствующую банку, которые могут быть доступны через

this.getClass().getResourceAsStream("/TheThingYoulikeToAccess.jpg")); 

Это определяет ресурс, который находится в пределах данного файла банка.

0

Вы можете служить статические файлы из файла фляги, используя CLStaticHttpHandler как:

server.getServerConfiguration().addHttpHandler(
     new CLStaticHttpHandler(new URLClassLoader(new URL[] { 
      new File("/home/myname/myjarfile.jar").toURI().toURL()}), // Path to the jar file 
      "my/jar/staticfiles-insider-jar/"), // the static files path inside the jar file 
      "/jarstatic"); // context-path 
Смежные вопросы