【问题标题】:maven transitive dependencies lost in jetty:runmaven 传递依赖在 jetty:run 中丢失
【发布时间】:2012-12-16 09:33:25
【问题描述】:

我有一个largish project,需要通过命令行界面或网络应用程序使用。核心服务器部署为 10 个单独的 jar。该网络应用程序当前部署为 .war,但这是一个巨大的文件,它复制了所有单独的部署,并且使更新模块变得非常痛苦 - 每次更新任何内容时都必须重新部署这个巨大的 .war 文件,很多时候我们不使用网络应用程序。

所以我正在尝试部署一场“瘦身战争”,而无需依赖。但是,没有 .ear 文件来携带它们,所以在运行时,我解压了瘦战争并使用 jetty:run,classesDirectory 和 webAppSourceDirectory 指向解压后的内容。这一切似乎都奏效了。问题是来自 web-app 模块的依赖项没有进入 jetty:run 的类路径。当我在 web-app 模块中使用 jetty:run 时,类路径包括所有父、本地和传递依赖项。但是当我在依赖于 web-app 模块的“分发”项目中使用 jetty:run 时,进入类路径的唯一依赖项来自父模块,而不是来自 web-app 模块。请注意,web-app 模块是分发模块中唯一的本地依赖项。

我错过了什么?

【问题讨论】:

    标签: maven maven-jetty-plugin transitive-dependency


    【解决方案1】:

    如果我对你的理解正确,你的问题是Maven doesn't resolve transitive dependencies for war dependencies

    【讨论】:

    • 没错。我没有打开那个 - 谢谢!所以也许我需要将这些依赖项移到一个单独的 pom 模块中。
    • 解决方案是将公共依赖项分解到另一个 pom 模块中,然后(1)在 .war 中将 lib 目录留空,(2)依赖于两个地方的公共依赖项。它正在工作。
    猜你喜欢
    • 1970-01-01
    • 2018-07-06
    • 2013-02-17
    • 2019-08-23
    • 2019-10-29
    • 2021-10-24
    • 2011-04-10
    • 2011-05-20
    相关资源
    最近更新 更多