【问题标题】:Multi module maven project not deploying executable Jar for dependent module多模块maven项目没有为依赖模块部署可执行Jar
【发布时间】:2016-09-20 20:52:35
【问题描述】:

我有一个多模块 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 服务的部署程序集。

这是我的 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 中使用插件运行 Web 服务?您是否尝试过在独立的应用程序服务器中运行使用 maven 构建的 Web 服务大战?我怀疑问题出在 Eclipse 项目元数据上。
  • 我正在使用 Eclipse 的 m2e 插件。是的,当我部署从目标文件夹生成的战争时,它可以正常工作,所以我还认为这与 eclipse 如何部署到服务器有关。就是想不通。请注意,当我从 Eclipse 中查看已部署的战争中的 jar 时,它是一个目录。
  • 恐怕我多次遇到相同的错误,但从未找到解决方案。尝试手动删除eclipse支持文件并重新导入项目。
  • 我发现旧版本的eclipse maven插件也有类似的问题:尝试将m2e升级到最新版本eclipse.org/m2e
  • 我尝试了这两种解决方案,但不幸的是它们都没有奏效。

标签: java eclipse maven


【解决方案1】:

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

右键点击web项目->属性->Maven

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2019-10-18
    • 2011-10-14
    • 1970-01-01
    相关资源
    最近更新 更多