0

在 Web 应用程序中,我使用了一些 Spring 计划任务(由 Spring 容器独立管理)。这些任务执行一些业务逻辑并需要访问 StringTemplate 资源,这些资源在部署后位于 WEB-INF/classes 中。我将他们的目录作为字符串(即"some/templates")提供,在分解模式下工作时效果很好,但是在切换到 WAR 打包后,ST 找不到这些资源。项目页面建议使用 URL/URI(“泥潭”),但这对我来说有点不清楚。其他资源正常工作,唯一的问题是STGroupDir构造函数。

我应该如何构造 URL/URI/Paths 参数,以便这些资源可以被 WAR 打包的 Spring 管理的计划任务访问?

4

1 回答 1

2

这似乎是 Weblogic 9.x_wl_cls_gen.jar在打包的 WAR 中创建内部包含所有类路径(即 WEB-INF/类)资源的问题。这导致许多依赖于getResource(path)方法的框架(例如ClassLoader一个)出现问题。因此StringTemplate无法访问组文件。我通过将模板移出类路径并移动到WEB-INF位置来解决问题,然后将路径作为 URL 注入以供StringTemplate使用。

我在此处此处找到了有关此问题的更多信息。

于 2013-05-14T08:27:28.757 回答