我使用grizzly StaticHttpHandler
从绝对路径提供静态文件:
httpServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("/home/user/.../project/src/main/resources/static));
如何打包并提供mvn assembly:single
生成的最终胖jar中的静态文件?
我的pom.xml
文件的部分看起来像
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
</build>
答案 0 :(得分:1)
给定的配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
</build>
不是必要的,因为它是默认的。
此外,为了获得位于那里的资源,很高兴知道它们将被打包到相应的jar中,可通过
访问this.getClass().getResourceAsStream("/TheThingYoulikeToAccess.jpg"));
这定义了一个在给定jar文件中的资源。
答案 1 :(得分:0)
您可以使用CLStaticHttpHandler从jar文件提供静态文件,如:
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