繁体   English   中英

多模块Maven项目未为相关模块部署可执行Jar

[英]Multi module maven project not deploying executable Jar for dependent module

我有一个多模块的Maven项目。 它设置正确,因为当我运行maven clean install时,它会成功构建所有模块。 Webapp包含我需要在Web服务中拥有的常用功能,因此已将其作为Maven依赖项包含在Web服务中。

Maven反应器摘要:

[INFO] Reactor Summary:
[INFO] 
[INFO] Parent .................................. SUCCESS [  0.420 s]
[INFO] Webapp .................................. SUCCESS [  6.221 s]
[INFO] Webservice .............................. SUCCESS [  5.954 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.763 s
[INFO] Finished at: 2016-09-20T16:27:50-04:00
[INFO] Final Memory: 18M/238M
[INFO] ------------------------------------------------------------------------

Eclipse甚至会将webapp项目添加到Web服务的部署程序集中。

部署程序集配置

这是我在webservice中对webapp模块的maven依赖关系:

<dependency>
     <groupId>com.company</groupId>
     <artifactId>webapp</artifactId>
     <version>16.3</version>
     <scope>compile</scope>
</dependency>

但是,当我尝试运行此程序时,收到以下消息:

Caused by: java.lang.ClassNotFoundException: com.company.model.User

为了解决这个问题,我必须从部署程序集中删除该模块,并实际上添加在/ target文件夹中创建的jar。 看起来,如果我不这样做,它将不会在服务器上的lib文件夹中创建可执行jar文件,而只会在webapp项目的文件夹结构中创建。 有没有可以用来解决此问题的设置,因此它可以正确部署在服务器上? 非常感谢任何建议,因为这是我的第一个多模块Maven项目,并且我一直在为此苦苦挣扎,并且它正变得令人讨厌。 谢谢!

看起来eclipse只会在工作区中查找要包含为maven依赖项的项目,但是它将项目添加到依赖项中时,当您要使用其他模块中的类时会导致问题。 我发现这是已检查的设置。 取消选中它后,它将jar正确地添加到服务器,并且我能够访问类而不会出现ClassNotFound Exceptions

右键单击Web项目->属性-> Maven

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM