2017-04-05 67 views
-1

我有一个mvn项目打包为applicationConfig.jar,其中包含不同其他项目(WAR的(Web应用程序,例如:application.war)和JAR的(例如:applicationBatch批处理)罐))。Spring初始化属性使用从另一个项目引用的propertysourcesplaceholderconfigurer

我一直在使用注释在我applicationConfig.jar初始化这些属性用于propertysourcesplaceholderconfigurer

这applicationConfig.jar现在被添加为依赖于pom.xml中对application.war & applicationBatch.jar

1) application.war中的java代码能够访问在服务器启动属性上的applicationConfig.jar中执行的代码初始化的属性。这里没有问题。

2)从linux机器上的命令行运行的applicationBatch.jar无法访问属性。它看起来像属性初始化代码永远不会执行,当applicationBatch.jar运行。

任何人都可以请求帮助我怎样才能确保,当从命令行运行批处理jar(applicationBatch.jar)时,执行代码坐在jar文件(applicationConfig.jar负责使用propertysourcesplaceholderconfigurer初始化属性)。

代码段下面:

applicationConfig.jar: [附件] [1]

[房产参考使用注释和财产属性文件] [2]

+0

请分享代码片段,尤其是如何引用这些属性。 –

+0

@NicolasLabrot:在我上面的问题本身中添加了applicationConfig.jar的代码片段。这只是作为依赖添加到 1)WAR pom.xml - >工作正常,能够在启动时执行applicationConfig.jar。 2)JAR pom.xml --->无法在我的applicationConfig.jar中执行 我可以使用Spring Value注释为常量文件中的每个属性 – Shindhur

+0

访问这些初始化属性您是否可以将此片段包含到您的问题中? (大括号按钮)。如果我理解正确,运行'applicationBatch'时不会调用'getPropertySourcesPlaceholderConfigurer'? –

回答

0

Spring会管理是否InternalConfig您可以使用@Import导入它,或者使用InternalConfig之一的基本软件包父级配置组件扫描。 applicationBatch似乎错过了这种方法之一。

你能检查吗?