![](/img/trans.png)
[英]Tomcat webapp NoClassDefFoundError with jar on classpath
[英]Webapp map static resources to jar in Tomcat
我正在将Web应用程序移植到tomcat,并且静态资源有问题。
我有一个包含Web资源(css,img,js,...文件)的jar。 这些文件打包在类似于以下的路径中:
data.jar
com/bizname/application/web/css
com/bizname/application/web/img
com/bizname/application/web/js
该jar位于Web应用程序内部。 我希望能够将资源映射到公共访问权限。 例如,如果我访问:
http://myserver:8080/mywebapp/css/style.css
我希望提供资源com/bizname/application/web/css/style.css
。
我在Tomcat的web.xml
文件中找不到如何设置它。
在嵌入式Jetty中,我能够使用手柄来实现这一点。
final URL url_css = Servidor.class.getClassLoader().getResource("com/bizname/application/web/css");
HandlerList handlers = new HandlerList();
handlers.addHandler(new WebAppContext(url_css.toExternalForm(),"/css"));
// ... adding handler to context
也许颌骨可以帮助您。
如果没有,您可以实现一个为您完成的Servlet(读取文件并将其写入响应)。 如果您使用Restrest之类的东西,它将变得更加容易,因为您不需要编写IO东西。
考虑到我只使用过Eclipse中的Tomcat,因此我不太确定这是对的,但是我还是会试一试。
我假设您在此应用程序中使用Java Servlet? 如果是这种情况,则需要在web.xml中指定URL模式。 这是apache.org的web.xml文件的一个很好的示例,它说明了文件的各个方面:
https://tomcat.apache.org/tomcat-5.5-doc/appdev/web.xml.txt
希望这对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.