2015-04-27 66 views
5

我想。但它拋出異常什麼在春季啓動

java.lang.IllegalArgumentException: Attribute 'exclude' is of type [Class[]], but [String[]] was expected. Cause: 
    at org.springframework.core.annotation.AnnotationAttributes.doGet(AnnotationAttributes.java:117) 
    at org.springframework.core.annotation.AnnotationAttributes.getStringArray(AnnotationAttributes.java:70) 
    at org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector.selectImports(EnableAutoConfigurationImportSelector.java:63) 
    at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:386) 
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:204) 
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:163) 
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:138) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:284) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:225) 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:683) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:944) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:933) 
    at Application.main(Application.java:69) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 

這裏運行從Create a RabbitMQ message receiver示例項目毛病RabbitMQ的是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

     <groupId>org.springframework</groupId> 
     <artifactId>gs-messaging-rabbitmq</artifactId> 
     <version>0.1.0</version> 

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

     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-maven-plugin</artifactId> 
       </plugin> 
      </plugins> 
     </build> 

     <repositories> 
      <repository> 
       <id>spring-releases</id> 
       <name>Spring Releases</name> 
       <url>https://repo.spring.io/libs-release</url> 
      </repository> 
     </repositories> 
     <pluginRepositories> 
      <pluginRepository> 
       <id>spring-releases</id> 
       <name>Spring Releases</name> 
       <url>https://repo.spring.io/libs-release</url> 
      </pluginRepository> 
     </pluginRepositories> 
</project> 

這裏是我的類文件

@SpringBootApplication 
public class Application implements CommandLineRunner { 

    final static String queueName = "spring-boot"; 

    @Autowired 
    AnnotationConfigApplicationContext context; 

    @Autowired 
    RabbitTemplate rabbitTemplate; 

    @Bean 
    Queue queue() { 
     return new Queue(queueName, false); 
    } 

    @Bean 
    TopicExchange exchange() { 
     return new TopicExchange("spring-boot-exchange"); 
    } 

    @Bean 
    Binding binding(Queue queue, TopicExchange exchange) { 
     return BindingBuilder.bind(queue).to(exchange).with(queueName); 
    } 

    @Bean 
    SimpleMessageListenerContainer container(ConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) { 
     SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); 
     container.setConnectionFactory(connectionFactory); 
     container.setQueueNames(queueName); 
     container.setMessageListener(listenerAdapter); 
     return container; 
    } 

    @Bean 
    Receiver receiver() { 
     return new Receiver(); 
    } 

    @Bean 
    MessageListenerAdapter listenerAdapter(Receiver receiver) { 
     return new MessageListenerAdapter(receiver, "receiveMessage"); 
    } 

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

    @Override 
    public void run(String... args) throws Exception { 
     System.out.println("Waiting five seconds..."); 
     Thread.sleep(5000); 
     System.out.println("Sending message..."); 
     rabbitTemplate.convertAndSend(queueName, "Hello from RabbitMQ!"); 
     receiver().getLatch().await(10000, TimeUnit.MILLISECONDS); 
     context.close(); 
    } 
} 

有人能告訴我什麼是我的錯?在此先感謝。

回答

4

我的IDE有問題。我只是重新導入所有maven的依賴關係,並能解決它。謝謝NicolsasAndy