Eclipse настроен на использование внешнего экземпляра maven.Тем не менее, у меня есть интеграционный тест, который отлично запускается из командной строки, но не проходит из Eclipse.Эта ошибка является ошибкой bean-компонента контекста класса Spring:
Cannot convert value of type [java.lang.String] to required type
Виновный объект - это bean-компонент, который устанавливает значения свойств с помощью PropertyPlaceholderConfigurer.
<!-- property settings for non-JNDI database connections -->
<bean id="placeholderConfigUuid" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="location" value="classpath:database.properties" />
<property name="placeholderPrefix" value="$DS{" />
</bean>
Я знаю, какой компонент не работает, посколькупоявляется в трассировке стека и потому, что когда я заменяю $ DS {hibernate.dialect} статическим значением, он работает.
EDIT: Здесь используются значения свойств:
<bean id="myTestLocalEmf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="myapp-core" />
.......ommitted for brevity.......
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<!-- The following use the PropertyPlaceholderConfigurer but it doesn't work in Eclipse -->
<property name="database" value="$DS{hibernate.database}" />
<property name="databasePlatform" value="$DS{hibernate.dialect}" />
</bean>
</property>
</bean>
У меня два вопроса:
1) Поскольку M2Eclipse использует ту же настройку Maven, что и командная строка, почему один из них работает, а другой отказывает?2) Как это исправить?Мне очень нравится возможность запуска одного теста jUnit из Eclipse по требованию.