java - Maven 不会重写 JUnit/Mockito 的 context.xml 上的属性

标签 java spring maven junit mockito

我正在使用 Spring 和 Mockito 运行 JUnit 测试,并且我有一个具有以下配置的可注入(inject) bean:

<bean name="roleDefault" id="roleDefault" class="java.lang.String">
  <constructor-arg>
    <value>${database.rule}</value>
  </constructor-arg>
</bean>

我的 pom.xml 在 id 为“desenvolvimento”的配置文件中具有此配置:

<database.rule>SET ROLE RO_APP IDENTIFIED BY WEBAPP</database.rule>

问题是:在 Eclipse 中运行所有测试或使用 mvn test 都不会计算 ${database.rule} 的值,导致以下结果错误:

Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "${database.rule}" [42000-165]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    at org.h2.message.DbException.get(DbException.java:169)
    at org.h2.message.DbException.get(DbException.java:146)
    at org.h2.message.DbException.getSyntaxError(DbException.java:181)
    at org.h2.jdbc.JdbcConnection.checkRunOver(JdbcConnection.java:1318)
    at org.h2.jdbc.JdbcConnection.translateSQL(JdbcConnection.java:1271)
    at org.h2.jdbc.JdbcConnection.translateSQL(JdbcConnection.java:1187)
    at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:265)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:98)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:182)
    ... 75 more

为什么maven不重写database.rule的值?

最佳答案

确保 XML 配置文件的位置包含在 pom.xml 的资源过滤器中。

<resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> </includes> </resource>

关于java - Maven 不会重写 JUnit/Mockito 的 context.xml 上的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26714607/

相关文章:

Java-JBoss-Maven : Error getting jboss-as-client 5. 0.1.GA Maven

java - Java 中的同步静态方法合法吗?

java - 并发求和列表,由另一个线程填充

java - Jasper Report Pdf 在 Eclipse 中导出正常,但从 Jar 文件导出非常慢

java - 用于跟踪网页浏览量(或唯一访问者)的最佳 Grails 实现?

java - 如果 pom.xml 文件有错误,创建 Maven 项目时可能会出现什么问题

java - 如果我的java home是空的,maven从哪里获取java版本

java - 为什么这个 jibx 绑定(bind)没有像 binding.xml 中指定的那样解码?

java - Spring data rest - 处理实体验证

java - 如何阻止 jackson 在 Spring MVC 中将日期写为时间戳