2015-02-01 39 views
5

Tôi đang đọc sách Introducing Spring Framework và tôi bị kẹt trong ví dụ đầu tiên. Tôi chưa bao giờ sử dụng Gradle trước đây. Bằng cách nào đó trình biên dịch không hiểu chú thích được sử dụng trong mã của tôi. Mặc dù tôi đã sử dụng phụ thuộc mùa xuân trong tệp gradle.build.Tại sao việc biên dịch Gradle không thành công trong ví dụ này?

Vì mục đích hoàn thành, tôi sẽ đăng tất cả 4 tệp từ ví dụ này.

build.gradle:

apply plugin: 'java' 
apply plugin: 'application' 

mainClassName = System.getProperty("mainClass") 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'org.springframework:spring-context:4.0.5.RELEASE' 
} 

MessageService.java:

package com.apress.isf.spring; 

public interface MessageService { 

public String getMessage(); 

} 

HelloWorldMessage.java:

package com.apress.isf.spring; 



public class HelloWorldMessage implements MessageService { 

public String getMessage(){ 

return "Hello World"; 

} 

} 

Application.java:

package com.apress.isf.spring; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.AnnotationConfigApplicationContext; 

@Configuration 
@ComponentScan 
public class Application { 

@Bean 
MessageService helloWorldMessageService() { 

    return new HelloWorldMessage(); 

} 

public static void main(String[] args) { 

    ApplicationContext context = new AnnotationConfigApplicationContext(Application.class); 
    MessageService service = context.getBean(MessageService.class); 

    System.out.println(service.getMessage()); 

    } 

} 

Tôi chạy ví dụ với:

gradle run -DmainClass=com.apress.isf.spring.Application 

Sử dụng Ubuntu.

Kết quả là:

~/src/main/java/com/apress/isf/spring/Application.java:7: error: cannot find symbol 
@Configuration 
^ 
    symbol: class Configuration 
~/src/main/java/com/apress/isf/spring/Application.java:8: error: cannot find symbol 
@ComponentScan 
^ 
    symbol: class ComponentScan 
2 errors 
:compileJava FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':compileJava'. 
> Compilation failed; see the compiler error output for details. 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 5.025 secs 

bất cứ ai có thể giúp tôi với chạy ví dụ này? Trân trọng.

Trả lời

8

Tôi nghĩ rằng bạn đang thiếu những điều khoản về nhập khẩu đối với cấu hình và ComponentScan ở phía trên cùng của lớp ứng dụng của bạn:

import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
+0

Wow. Cảm ơn bạn. Bằng cách nào đó tôi không nghĩ về điều đó. Chưa có thông báo lỗi cho cuốn sách này. Cảm ơn bạn! :) –

Các vấn đề liên quan