PropertyPlaceholderConfigurer работает из командной строки Maven, а не из Eclipse? - PullRequest
0 голосов
/ 10 июня 2010

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 по требованию.

Ответы [ 2 ]

2 голосов
/ 10 июня 2010
  • Работает ли фильтрация для "обычного" модульного теста в Eclipse?
  • Настроен ли m2eclipse для обработки ресурсов и тестирования ресурсов на изменения ресурсов:

alt text http://www.imagebanana.com/img/rwd919ek/screenshot_008.png

  • Есть что-то конкретное, что следует упомянутьинтеграционные тесты (с точки зрения Maven)?
0 голосов
/ 10 июня 2010

Вы используете M2Eclipse (актуальная версия?), Вы используете Maven 3 в Eclipse, но я предполагаю, что вы используете Maven 2 (2.2.1?) В командной строке ... С другой стороны, вы говоря, что ваш "интеграционный тест" выполняется в командной строке (создание среды и т. д.), но вы хотели бы запустить "модульный тест" из Eclipse ... модульный тест отличается от интеграционного теста ... и я Я не удивлен, что ваш интеграционный тест не работает из Eclipse ... Может быть, мы можем сказать больше, если увидим используемые POM и код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...