【发布时间】:2015-01-06 07:51:13
【问题描述】:
我尝试在我的 applicationContext.xml 中使用带有 java.util.Properties 的 SpEL。否则我使用 maven tomcat 插件。
我的班级:
public class FieldClass{
private Properties pr;
public Properties getProperties(){
return this.pr;
}
public void setProperties(Properties properties){
this.pr = properties;
}
}
我的 xml:
<bean id="field" class="com.myproject.app.FieldClass">
<property name="pr" value="#{systemProperties['APP.LOG_PATH']}" />
</bean>
然后我在命令行中运行mvn -DAPP.LOG_PATH=/Users/wsaryada/tmp tomcat7:redeploy。但我编译失败了。
我也试过用这种方式在 pom.xml 中指定属性:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcatserver</server>
<systemProperties>
<APP.LOG_PATH>/home/user/tmp</APP.LOG_PATH>
</systemProperties>
</configuration>
</plugin>
但它也不起作用。
我也试过使用<property name="pr" value="#{systemEnvironment['APP.LOG_PATH']}" />
但这里同样的问题
FAIL - 在上下文路径 /application 但在上下文中部署了应用程序 启动失败
问题出在哪里???
在我评论 bean all work 成功后
更新
我在类中更改了 Spring 而不是 Properties 并且部署错误消失了,但是 pr 的值变成了空
【问题讨论】:
-
tomcat 日志里有什么?
-
“但是我编译失败”,失败的性质是什么?
-
我怀疑编译失败,我怀疑部署失败。 Tehre 在您的
FieldClass上没有名为pr的属性。您只有一个名为properties的属性 -
不起作用 bean,因为如果我评论它,所有工作都会成功
-
M. Deinum,是的,此错误仅在 stackoverflow 上,我将在几秒钟内对其进行编辑。这不是问题