【问题标题】:Activating Spring Profile active JVM arguments in GWT hosted mode在 GWT 托管模式下激活 Spring Profile 活动 JVM 参数
【发布时间】:2012-02-25 11:54:04
【问题描述】:

我有一个如下图所示的弹簧配置文件

<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 中有效,通过 gwt-maven-plugin 在托管模式下的 context-param 路由也是如此,但我无法让 VM 参数正常工作。我尝试了 mvn -Dspring.profiles.active="dev" gwt:run 还尝试通过运行配置中 JRE 选项卡下的 VM 参数传递 -Dspring.profiles.active="dev" 以及目标 gwt:run 。我还尝试了环境选项卡甚至-Dspring.profiles.active=dev,但NoSuchBeanDefinitionException 没有让步。这是因为嵌入式服务器的能力有限吗?

【问题讨论】:

    标签: spring gwt maven maven-3


    【解决方案1】:

    不,只是 gwt:maven 插件有点奇怪,它不会将系统属性传递给启动的 JVM 实例,传递参数的唯一方法是将其放入插件配置中的&lt;extraJvmArgs&gt;,例如在您的情况下,您必须在 gwt 插件的配置标签中添加以下内容:

    &lt;extraJvmArgs&gt;-Dspring.profiles.active=dev&lt;/extraJvmArgs&gt;

    天知道为什么只能这样,我希望有其他正常的方式。

    【讨论】:

    • 问题已解决 - 谢谢。我使用 extraJvmArgs 作为堆大小,但我错过了这个。 Maven 配置文件设置与 GWT(-Denv="xyz") 的 JVM 参数一起使用。不是这个 - 很奇怪。
    猜你喜欢
    • 2021-12-23
    • 2013-10-14
    • 2021-10-15
    • 2010-09-20
    • 2011-04-02
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2011-12-30
    相关资源
    最近更新 更多