gpt4 book ai didi

java - Spring ContextLoader 找不到 applicationContext.xml

转载 作者:行者123 更新时间:2023-11-30 07:38:05 26 4
gpt4 key购买 nike

我在一个项目上工作了很长时间,现在另一个开发人员加入了,所以我想通过 SVN 在他的机器上设置项目。我们都使用非常相似的设置:

  • OS X 雪豹
  • 最新的 Eclipse WTP
  • m2eclipse Maven 插件
  • 颠覆性 SVN 插件
  • Tomcat 6.0.24

使用的Spring版本是2.5.6。

我使用 Eclipse 的“来自 SVN 的项目”工具在他的机器上设置了项目,基本上创建了项目的 1:1 副本。据我所知,Maven 毫无问题地处理了所有依赖项,项目编译没有问题。项目结构遵循 webapps 的 Maven 标准,资源(如 applicationContext.xml)在 src/main/resources 中,项目代码在 src/main/java 中,所有与 web-app 相关的文件在 src/main/webapp 和 src 中/main/webapp/WEB-INF 分别。

web.xml 配置为像这样加载上下文:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

使用 Eclipse 的“服务器”工具,我尝试直接从 Eclipse 启动应用程序,但在尝试加载 applicationContext.xml 时立即失败并出现 FileNotFoundException。

由于从 SVN check out 的代码未被触及,我猜问题与 Maven 插件的某些参数有关。或者我忘记了完成设置的一些重要步骤。有没有人遇到过类似的问题或知道我应该从哪里开始寻找?

非常感谢您的帮助!

最佳答案

The project structure is following the Maven standard for webapps with resources (like the applicationContext.xml) in src/main/resources, the project's code in src/main/java and all web-app related files in src/main/webapp and src/main/webapp/WEB-INF respectively.

这是正确的并且非常好(因为您希望 applicationContext.xml 位于测试类路径上)。

It is not copied to WEB-INF/classes, but that's not the case in my own (functioning) project. Instead, the file is copied to target/classes as per Maven-standard.

复制到target/yourapp/WEB-INF/classes,但不是被默认调用的process-resources m2eclipse 资源更改(此目标将资源复制/过滤到 target/classes)。这发生在 package 阶段(或显式调用 war:warwar:inplacewar:exploded 时) ).如 usage 中所述页面,WAR 插件不负责编译 java 源代码或复制资源

所以我建议在服务器上运行之前打包 war。也许您可以配置 m2eclipse 以在资源更改时自动执行此操作(右键单击 您的项目,然后选择 Properties > Maven 并添加适当的 war 目标到资源更改时调用的目标)。不过没试过。

关于java - Spring ContextLoader 找不到 applicationContext.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com