从依赖罐中自动连接类中的注释

时间:2011-02-08 17:34:39

标签: java eclipse spring build maven

我对Java比较陌生,所以我希望这不是一个愚蠢的问题。

我在Eclipse中有一个Web项目,我正在尝试部署到Tomcat。我在Eclipse中有两个依赖项目,它们被编译成.jar文件并部署到/ WEB-INF / lib目录。

这很好,但不幸的是,Spring不会扫描依赖项中的注释,除非将.jars中的类文件解压缩到/ WEB-INF / classes目录中。

是否有一种简单的方法可以在构建时进行这种提取?我正在使用Maven。我暂时写了一个批处理文件(我在Windows上开发,在Ubuntu上部署)

我对如何自动执行服务器部署有疑问,但是,我做错了吗?当然,我不是唯一一个与这个问题搏斗的人。

4 个答案:

答案 0 :(得分:10)

根据这个Spring issue, 如果您使用导出...>在Eclipse中创建JAR文件Java> JAR文件向导,然后您必须选中添加目录条目复选框(默认情况下未选中),以便Spring的组件扫描查找JAR文件中的组件。

答案 1 :(得分:6)

我认为spring扫描整个类路径,你只需要提供:

<context:component-scan base-package="org.example"/>

有一条注释in the docs

  

扫描类路径包需要在类路径中存在相应的目录条目。使用Ant构建JAR时,请确保不要激活JAR任务的仅文件开关。

答案 2 :(得分:0)

既然你提到你也在使用注释

 <context:annotation-config/> 
 <context:component-scan base-package="org.example"/>

是您的示例* .xml文件中需要的内容

答案 3 :(得分:0)

@Chin Huang,

非常感谢您的回答。

使用Eclipse生成.jar并且从未想到这可能是问题所在。

我使用ANT生成.Jar并修复了问题。有时候有太多的选择让你感到困惑,这就是其中一个案例。