JNLP文件中的Spring @PropertySource位置字符串声明

时间:2015-02-04 22:05:34

标签: java spring jnlp

我们有一个名为BaseByBase的java Web启动程序,它有一个外部内部库,它具有以下spring属性源标记@PropertySource("${appclient}")"${appclient}"的值在BaseByBase的JNLP文件中指定为<property name="appclient" value="url to location"/>

当我通过其jnlp文件运行BaseByBase时,一切正常。我们还有另一个jnlp程序VOCs可以启动它自己的BaseByBase。 VOC的JNLP文件还包含<property name="appclient" value="url to location"/>,它可以毫无问题地启动BaseByBase。

现在我们正在努力让我们的第三个程序GATU也运行BaseByBase。 Gatu具有与VOC相同的代码来启动BaseByBase,其JNLP文件也包含<property name="appclient" value="url to location"/>。如果我在本地运行Gatu,一切都按预期工作。但是当我从其JNLP运行GATU并从中启动BaseByBase时,我收到以下错误Failed to initialize application context: java.lang.IllegalArgumentException: Could not resolve placeholder 'appclient' in string value [${appclient}]

我尝试使用System.setProperty设置字符串值但是没有修复它。更改了库代码,以便属性源指向属性文件的位置,但也没有这样做。

有关如何解决此问题的任何想法?我们的JNLP文件已签名,因此我认为可以通过JNLP设置不安全的系统属性。

1 个答案:

答案 0 :(得分:0)

@PropertySource(value={"classpath:appclient.properties"})