依赖项的Jar未部署到Web项目

时间:2012-10-11 13:37:52

标签: java eclipse tomcat maven

我的Eclipse工作区中有两个Maven项目, A ,它们会生成一个jar,而 B 会产生一个战争。 A B 的依赖关系,因此,在 B 的POM中。

我的问题是当我使用 B 运行Tomcat服务器时, A 没有部署到/ lib /中的.jar。

看起来很奇怪A出现在B的 Maven依赖作为文件夹,而不是jar。这在某种程度上是异常的吗?如果是这样,我该如何解决?

如果这不是问题,也许是Tomcat。我是否需要以某种方式配置它以适应此依赖关系模式(其中依赖关系显示为文件夹)?

谢谢!

-

编辑:手动导出 B 的.war文件后,我发现 A 被放入/ lib /作为空的.ear文件。

以下是依赖关系的屏幕截图,显示为文件夹:enter image description here

以下是A的POM的相关部分:

<groupId>br.com.reglare</groupId>
<artifactId>rule-model</artifactId>
<packaging>jar</packaging>
<version>1.8</version>

和B:

<dependency>
    <groupId>br.com.reglare</groupId>
    <artifactId>rule-model</artifactId>
    <version>1.8</version>
</dependency>

@urir:是的,它无法找到A:http://990fca173882239e.paste.se/

中定义的类

2 个答案:

答案 0 :(得分:0)

依赖关系应该以这种格式在你的pom中定义:

    <dependency>  
        <groupId>xmlbeans</groupId>  
        <artifactId>xmlpublic</artifactId>  
        <version>2.2.0</version>  
    </dependency>

另外,要查看依赖树,请使用'dependency:tree'指令,如下所示:

mvn clean compile dependency:tree

如果dependecy仍然不在war的WEB-INF / lib文件夹中,那么使用debugging标志运行compile并查找错误:

mvn -X clean compile

答案 1 :(得分:0)

假设您在eclipse中使用m2e来管理webapp,则需要安装m2e-wtp。您还应该能够在市场中的eclipse中找到它。它需要确保当您通过eclipse启动maven Web项目时,它会在正确的位置获得所有依赖项。安装插件后,您可能希望删除项目并将其作为“现有maven项目”再次导入,然后插件将正确设置。事后对它应用它对我来说是不合适的。

相关问题