2017-03-20 17 views
0

私はSpringブートをSolrで使用しています。私はポンポンの達人に設定されたとき、私は、予期しない例外を受け取りました:エラー:@ConditionalOnPropertyの名前属性または値属性をスプリングブートで指定する必要があります。

ポンポン:

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.5.RELEASE</version> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
     <exclusions> 
      <exclusion> 
       <artifactId>hibernate-entitymanager</artifactId> 
       <groupId>org.hibernate</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <!-- SOLR --> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-solr</artifactId> 
     <version>${spring-data-solr.verion}</version> 
    </dependency> 

    <!-- JSON --> 
    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-mapper-asl</artifactId> 
     <version>1.9.11</version> 
    </dependency> 

    <!-- WEB --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
     <version>8.0.27</version> 
    </dependency> 
    <!-- Hibernate 4 dependencies --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-c3p0</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-commons --> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-commons</artifactId> 
     <version>1.12.5.RELEASE</version> 
    </dependency>  
</dependencies> 

Applicationクラス:

@Configuration 
@ComponentScan 
@EnableAutoConfiguration 
@Import({SearchContext.class, WebContext.class }) 
public class Application { 

public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
    } 
} 

ログ例外:

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: ; nested exception is java.lang.IllegalStateException: The name or value attribute of @ConditionalOnProperty must be specified 
at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:390) 
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:162) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:299) 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:120) 
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:648) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:909) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:898) 
at com.totoroads.data.solr.showcase.Application.main(Application.java:31) 
Caused by: java.lang.IllegalStateException: The name or value attribute of @ConditionalOnProperty must be specified 
at org.springframework.util.Assert.state(Assert.java:385) 
at org.springframework.boot.autoconfigure.condition.OnPropertyCondition.getNames(OnPropertyCondition.java:101) 
at org.springframework.boot.autoconfigure.condition.OnPropertyCondition.getMatchOutcome(OnPropertyCondition.java:55) 
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:44) 
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:92) 
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:187) 
at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:433) 
at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:387) 
... 13 more 

私が実行した場合古いバージョンでは、何事も問題ありませんが、1.2.5にアップグレードすると、上記のエラーが発生しました。この例外を修正するには、どうもありがとう!

答えて

0

GitHub Spring-boot issues listで公開されている関連の問題を確認してみてください。

Spring Boot 1.2 Release Noteに説明したようにあなたは、Springフレームワークの新しいバージョンを必要とするようだ:

Spring Boot 1.2 requires Spring Framework 4.1.5 or later and is not compatible with Spring Framework 4.0.

+0

おかげで@aUserHimselt:私は春のブートについてのあなたのリンクにバージョンをチェックしています。.. –

+0

それが動作しましたか?同様の問題を抱えている他の人が使用できるように、答えを受け入れるか、このソリューションで出力を投稿してください。 – aUserHimself

+0

@hi aUserHimself:はいそれはうまくいきました。最新バージョン1.5.2にアップデートしました。各バージョンでAPIが変更されたので、コードを更新する必要があります。 –

関連する問題