java - Spring + Tomcat : Setup relative file path

标签 java spring tomcat

我正在 Tomcat7 上部署 Spring 3 应用程序。我正在使用 OXM 解码器,所以我需要像这样创建 StreamSource:

unmarshaller.unmarshal(new StreamSource(new FileInputStream(dbSetupPath)))

我像这样为 dbSetupPath 设置值,它在单元测试中有效:

@Value("src/main/resources/db-setup.xml")
String dbSetupPath;

当我在 Tomcat 上部署时,我收到 FileNotFoundException。让我的测试通过和 Tomcat 正常工作的正确路径是什么?我正在部署 exploded:war atm。

最佳答案

当您在 tomcat 上部署时,您所有的资源文件夹文件都会进入 WEB-INF/classes 文件夹中的 .war 文件。

你需要尝试

@Value("classpath:/db-setup.xml")

所以tomcat会检查classpath中的db-setup.xml

有关更多和适当的详细信息,请参阅

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/new-in-3.html

部分:2.5.3.1 基于 Java 的 bean 元数据

关于java - Spring + Tomcat : Setup relative file path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11539517/

相关文章:

java - 通过URI获取内容

java - Spring 3.0 MVC 数据绑定(bind)与 HTTP PUT

java - Hibernate 集合不与任何 session 关联

java - Apache 卡夫卡 VirtualBox : Streaming data from VM to Host PC resulting in error connecting to node

java - 如何在必要时使用流 JAVA 8 修改某些值来合并两个 POJOS 列表

java - Java中邻接矩阵的最小生成树

java - 如何在 Spring 的 dispatcherportlet 和 dispatcherservlet 上通过 xml 设置 ThreadContextInheritable(true)

web-services - 如何查看 Tomcat 上可用的 Web 服务?

Java、Spring、Tomcat 在 "INFO: Initializing Spring root WebApplicationContext"挂起,我想我更改了整个系统的允许内存堆

java - tomcat - HTTP 连接器 maxThreads/acceptCount 与 JDBC 池 maxActive 之间的比率