Активация активных параметров JVM Spring Profile в размещенном режиме GWT - PullRequest
9 голосов
/ 02 февраля 2012

У меня есть конфигурация профиля пружины, как показано ниже

<beans profile="dev">
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${db.driverClassName}" />
        <property name="jdbcUrl" value="dfgdfg" />
        <property name="user" value="${db.username}" />
        <property name="password" value="${db.password}" />
    </bean>
</beans>

<beans profile="prod">
    <jee:jndi-lookup id="dataSource" jndi-name="jdbc/Test"/>
</beans>

Я пытаюсь сделать это активным через аргумент VM -Dspring.profiles.active="dev". Это работает в Tomcat, как и маршрут context-param в режиме Hosted через плагин gwt-maven, но я не могу заставить работать аргументы виртуальной машины. Я попытался mvn -Dspring.profiles.active="dev" gwt:run также попытался передать -Dspring.profiles.active="dev" через аргументы виртуальной машины на вкладке JRE в конфигурациях запуска вместе с целью gwt:run. Я также попробовал вкладку среды и даже -Dspring.profiles.active=dev, но NoSuchBeanDefinitionException не сдвинулся с места. Это из-за ограниченных возможностей встроенного сервера?

1 Ответ

21 голосов
/ 03 февраля 2012

Нет, просто плагин gwt: maven довольно странный, он не передает системные свойства запущенному экземпляру JVM, и единственный способ передать параметры - поместить его в <extraJvmArgs> в конфигурации плагина, например. в вашем случае вы должны добавить следующее к тегу конфигурации плагина gwt:

<extraJvmArgs>-Dspring.profiles.active=dev</extraJvmArgs>

Бог знает, почему это работает только так, хотелось бы, чтобы был какой-то другой нормальный способ.

...