2015-06-29 2 views
0

У меня есть jvm arg, JAVA_OPTS=-Dblah.env=Something, установленный в startUp.bat для tomcat. Арг используется в банке в войне, он дает мне java.lang.IllegalArgumentException: Could not resolve placeholder. У меня нет этой проблемы, когда я запускаю ее через run-app.Заполнитель не разрешен в @PropertySource аннотации в банке, когда начался

Структура: запустить войну в коте, война имеет банку, который пытается @PropertySource({"classpath:blahClient${blah.env}.properties"}) и получает «Не удалось разрешить заполнитель»

Примечания: У меня также есть строка в моем resources.groovy аналогичной:

blahClientConfig(BlahClientConfig) { 
     application.refresh() 
    } 

Стек след:

java.lang.IllegalArgumentException: Could not resolve placeholder 'blah.env' in string value "classpath:blahClient${blah.env}.properties" 
    at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:173) 
    at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:125) 
    at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:151) 
    at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:142) 
    at org.springframework.core.env.AbstractEnvironment.resolveRequiredPlaceholders(AbstractEnvironment.java:464) 
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:186) 
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:147) 
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:133) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:286) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:227) 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:623) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454) 
    at org.codehaus.groovy.grails.commons.spring.DefaultRuntimeSpringConfiguration.getApplicationContext(DefaultRuntimeSpringConfiguration.java:153) 
    at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:170) 
    at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:127) 
    at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.configureWebApplicationContext(GrailsConfigUtils.java:121) 
    at org.codehaus.groovy.grails.web.context.GrailsContextLoader.initWebApplicationContext(GrailsContextLoader.java:107) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1930) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 

Почему не баночка увидеть ARG blah.env JVM?

+0

Почему вы передавая его JAVA_OPTS? – Vaelyr

+0

В банке есть несколько конфигурационных файлов, устанавливающих его в JAVA_OPTS, чтобы настроить env при его запуске. –

ответ

0

Оказывается глупый вопрос, который я имел JAVA_OPTS=-Dblah.env=Something, когда я должен был set JAVA_OPTS=-Dblah.env=Something

Смежные вопросы