I am reading a book Introducing the Spring Framework , and I am stuck in the first example. I have never used Gradle before. Somehow, the compiler does not understand the annotations used in my code. Although I used the Spring dependency in the gradle.build file.
For completeness, I will publish all 4 files from this example.
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()); } }
I run the example with:
gradle run -DmainClass=com.apress.isf.spring.Application
Using Ubuntu
Result:
~/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
Can someone help me with running this example? Best wishes.
source share