【问题标题】:deploying spring mvc web app to tomcat: classpath issue将 spring mvc web 应用程序部署到 tomcat:类路径问题
【发布时间】:2013-05-22 06:11:18
【问题描述】:

我正在使用 Spring MVC 框架开发一个小型 Web 应用程序。基本上,该应用程序提供 Web 界面,用户可以在其中上传 XML 文件并根据特定的 XSD 文件对其进行验证。我将我的 XSD 文件放在“src/main/webapp/XSDfoler”中。我把这个文件夹放到我的 Tomcat 的类路径中。 (我正在使用嵌入到我的 Eclipse 中的 Tomcat)。在我的代码中,为了访问我的 XSD 文件,我只是使用了 ClassPathResource("myXSD.xsd");

它工作正常。现在,我从我的 webapp 创建了一个 .war 文件,并尝试将它部署到另一个独立的 Tomcat。尝试运行它时,它会给出 NullPointer 异常,因为它无法找到“myXSD.xsd”文件。因此,当我得到它时,我必须以某种方式将此文件包含到这个独立 Tomcat 实例的类路径中。在使用嵌入式 Tomcat 在 IDE 中进行开发后,我寻找了一些不错的分步教程或文章,解释了如何将 webapp 部署到独立的 Tomcat 服务器。任何人都可以请解释/帮助。谢谢!

【问题讨论】:

  • war 文件中的 myXSD.xsd 在 classes 文件夹中吗?
  • 你的意思是 WEB-INF/classes ?不,它在.war的根目录中名为“resources”的文件夹中

标签: eclipse spring tomcat spring-mvc classpath


【解决方案1】:

试试

ServletContext context = httServletRequest.getSession().getServletContext();
InputStream is = context.getResourceAsStream("/XSDfoler/myXSD.xsd");

或者使用getResource() 代替getResourceAsStream()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2018-07-14
    • 2017-10-25
    • 2019-04-30
    • 2012-01-16
    相关资源
    最近更新 更多