Maven下载到我的本地存储库的JAR包含在类路径中但未找到?

时间:2012-03-17 20:53:01

标签: java maven dependencies classpath

我对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

1 个答案:

答案 0 :(得分:0)

看起来很可疑,好像忘记了导入注释一样。

您的代码是否包含

import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Scope;

(或适当的通配符导入)?