Why is Gradle compilation not performed in this example?

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.

+5
source share
1 answer

I think you are missing the import instructions for Configuration and ComponentScan at the top of the Application class:

 import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; 
+8
source

Source: https://habr.com/ru/post/1212385/


All Articles