Применение фильтров maven к свойствам в Mule Studio

У меня есть проект студии мулов, для которого я определил фильтр maven для свойств, которые должны быть разными для разных сред.

Однако mule studio не может применить свойства для среды по умолчанию (локальной), в результате чего приложение не запускается при запуске со следующими ошибками.

[02-18 20:24:32] ERROR DefaultMuleApplication [main]: null

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'invoke-cj-ws' defined in null: Could not resolve placeholder 'prop1' in string value "${cj.auth.key}"
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:209)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.processProperties(PropertySourcesPlaceholderConfigurer.java:174)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.postProcessBeanFactory(PropertySourcesPlaceholderConfigurer.java:151)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:669)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
at org.mule.config.spring.SpringRegistry.doInitialise(SpringRegistry.java:89)
at org.mule.registry.AbstractRegistry.initialise(AbstractRegistry.java:109)
at org.mule.config.spring.SpringXmlConfigurationBuilder.createSpringRegistry(SpringXmlConfigurationBuilder.java:119)
at org.mule.config.spring.SpringXmlConfigurationBuilder.doConfigure(SpringXmlConfigurationBuilder.java:73)
at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:46)
at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
at org.mule.config.builders.AutoConfigurationBuilder.autoConfigure(AutoConfigurationBuilder.java:101)
at org.mule.config.builders.AutoConfigurationBuilder.doConfigure(AutoConfigurationBuilder.java:57)
at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:46)
at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
at org.mule.context.DefaultMuleContextFactory.createMuleContext(DefaultMuleContextFactory.java:84)
at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:207)
at org.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64)
at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:47)
at org.mule.tooling.server.application.ApplicationDeployer.run(ApplicationDeployer.java:58)
at org.mule.tooling.server.application.ApplicationDeployer.main(ApplicationDeployer.java:91)

Кто-нибудь успешно использовал фильтры в MuleStudio ИЛИ использовал альтернативные средства решения этой проблемы?


person user1493140    schedule 19.02.2014    source источник


Ответы (1)


Если вы определяете профиль в своем pom.xml (или, если хотите, в settings.xml) и упоминаете, что для вас должен быть загружен тег сборки с требуемыми свойствами фильтра для определенных сред, вы можете проверить это, когда запустите пакет mvn и загляните внутрь jar, чтобы проверить, был ли упакован файл свойств. Итак, в помощь вам ниже будет раздел профиля

 <profiles>
  <profile> 
    <id>dev</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <filters>
           <filter>src/main/resources/build/dev.properties</filter>
           </filters>
           <resources>
            <resource>
             <filtering>true</filtering>
             <directory>src/main/resources</directory>
             <includes>
              <include>**/*.xml</include>
              <include>*.properties</include>
             </includes>
            </resource>
           </resources>
          </build>
  </profile>
 <profiles>
</project>

Кроме того, вам нужно иметь файл свойств внутри src/main/resources, который будет иметь динамические значения, и на основе параметра env, переданного во время сборки maven, он займет соответствующий файл свойств из папки src/main/resources/build.

person Mujahed    schedule 19.02.2014