我对Maven正确解析的项目有很多依赖。问题是它似乎没有找到Maven本身已经下载并且很好地放在我的本地.m2存储库中的spring-context jar文件。我的代码没有编译,这是我收到的错误消息:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/kilroy/workspace/blogping-dist/blogping/src/main/java/com/vrutberg/blogping/web/BlogPingService.java:[21,1] cannot find symbol
symbol: class Component
@Component
[ERROR] /Users/kilroy/workspace/blogping-dist/blogping/src/main/java/com/vrutberg/blogping/web/BlogPingService.java:[22,1] cannot find symbol
symbol: class Scope
@Scope("request")
从我可以告诉它所需的jar文件包含在类路径中(从使用-X开关调试Maven):
[DEBUG] /Users/kilroy/.m2/repository/org/springframework/spring-context/3.1.1.RELEASE/spring-context-3.1.1.RELEASE.jar
这是jar文件的正确位置。我通过代码中的这些注释引用了上面提到的类(Component.class和Scope.cass):
@Component
@Scope("request")
@Path("/ping")
public class BlogPingService {
@InjectParam
private BlogPingList blogPingList;
@Context
@Component和@Scope注释驻留在spring-context jar中,如果我解压缩它并搜索Component.class和Scope.class,我会按预期找到它们:
pioneer:test kilroy$ find . -name Scope.class
./org/springframework/context/annotation/Scope.class
pioneer:test kilroy$ find . -name Component.class
./org/springframework/stereotype/Component.class
所以我不知道问题是什么。似乎jar文件正确包含在类路径中,它包含我需要的类。可能是什么问题?
链接到我的pom.xml:http://pastebin.com/nsLp5VeU
答案 0 :(得分:0)
看起来很可疑,好像忘记了导入注释一样。
您的代码是否包含
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Scope;
(或适当的通配符导入)?