java - 多模块maven项目未为依赖模块部署可执行Jar

标签 java eclipse maven

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

Maven react 器摘要:

[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 服务的部署程序集中。

Deployment Assembly Configuration

这是我的 web 服务中的 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 异常

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

enter image description here

关于java - 多模块maven项目未为依赖模块部署可执行Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39603529/

相关文章:

java - 使用 RSync 算法在 linux 托管服务器上上传和下载文件

java - 将文件中的字符串存储在 ArrayList 对象中?

java - Etat HTTP 500 - "Servlet.init()"pour la servlet AxisServlet 一个通用异常

java - TransformerFactory与Xalan依赖冲突

xml - 无法解析原型(prototype) org.apache.maven.archetypes :maven-archetype-webapp

java - 以不同顺序调用接口(interface)方法

java - 我们可以为 .NET 应用程序调用使用 Spring REST 支持创建的 RESTful Web 服务吗?

java - 如何使用 JGoodies 绑定(bind) JTable 中的 boolean 值

java - Eclipse Java : missing jars from plugin library, 推荐替代方案或解决方案?

eclipse - 在 Eclipse 3.5 中创建 Spring MVC 项目