将 spring 类作为可运行 jar 执行时无法读取 applicationContext.xml

2024-01-12

我有一个带有 main 方法的 Spring 类。在类中我尝试读取值 applicationContext.xml 。我的目的是将这个主类及其依赖的 jar、属性文件和 applicationContext.xml 一起打包。

但是当我尝试通过 unix 命令提示符运行 jar 文件时,看起来 applicationContext 文件没有被加载。

applicationContext.xml 在 jar 文件中可见,并且能够在我的类中看到 sysouts。用于读取 applicationContext.xml 的代码是

ApplicationContext context = new ClassPathXmlApplicationContext(
    "classpath*:**/applicationContext.xml");

当我打印上下文时,它给我以下消息。

org.springframework.context.support.ClassPathXmlApplicationContext@89fbe3: start
up date [Mon Oct 01 15:07:43 IST 2012]; root of context hierarchy

当我尝试打印 context.getBeanDefinitionCount() 时——它给了我 0。

但我能够通过 eclipse 成功执行此操作。它能够读取 applicationContext.xml 并给出 bean 计数为 13。

不知道为什么当我将它作为 jar 运行时它不起作用。请帮助我发表评论。


你是如何获得.jar包的?您使用了 Eclipse 导出向导吗?您可能已将“applicationContext.xml”放入“/resources”文件夹中。确保修复 Eclipse 中的“Java 构建路径”。删除“/src/main/resources”文件夹中可能存在的所有排除标签。资源文件夹应该被视为类路径,而不仅仅是 .jar 包中包含一些 xml 文件的文件夹。希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 spring 类作为可运行 jar 执行时无法读取 applicationContext.xml 的相关文章

随机推荐