嵌入式 Jetty 资源基类路径 URL
我将 Jetty 嵌入到基于 Spring 的应用程序中。我在 Spring 上下文文件中配置 Jetty 服务器。我遇到问题的配置的具体部分是这样的:
<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/" />
<property name="resourceBase" value="????????" />
<property name="parentLoaderPriority" value="true" />
</bean>
如果你看到上面,我把 ????????? 放在哪里,我理想地希望资源库引用我的类路径上的文件夹。我将应用程序部署在单个可执行 JAR 文件中,并在类路径上有一个文件夹 config/web/WEB-INF 。
Jetty 似乎能够处理在资源库中定义的 URL(例如 jar:file:/myapp.jar!/config/web
),但它似乎不支持类路径 URL。如果我定义类似 classpath:config/web
的内容,我会收到 IllegalArgumentException。
这对我来说是一个真正的痛苦。有谁知道如何实现此功能?
谢谢,
安德鲁
I'm embedding Jetty in a Spring based application. I configure my Jetty server in a Spring context file. The specific part of the configuration I'm having trouble with is this:
<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/" />
<property name="resourceBase" value="????????" />
<property name="parentLoaderPriority" value="true" />
</bean>
If you see above, where I've put the ????????, I ideally want the resourceBase to reference a folder on my classpath. I'm deploying my application in a single executable JAR file and have a folder config/web/WEB-INF
on my classpath.
Jetty seems to be able to handle URLs defined in the resourceBase (e.g. jar:file:/myapp.jar!/config/web
) but it doesn't seem to support classpath URLs. I get an IllegalArgumentException if I define something like classpath:config/web
.
This is a real pain for me. Does anyone know of anyway to achieve this functionality?
Thanks,
Andrew
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将资源作为 Spring 的
Resource
获取,并对其调用getURI().toString()
,如下所示:-
-
或者使用 Spring 3.0' 的更优雅的方法表达语言:
You need to get your resource as a Spring's
Resource
and callgetURI().toString()
on it, something like this:-
-
Or more elegant approach with Spring 3.0's expression language: