【问题标题】:Place dependencies in root lib folder将依赖项放在根 lib 文件夹中
【发布时间】:2013-06-18 20:49:41
【问题描述】:

我有一个使用 netbeans 创建的 EJB/Web 项目。我已经用 netbeans 创建了这个项目,所以我们很快就会有一个工作原型。现在我将其转换为 Gradle。 我正在使用 ear 插件和我的结构

-root
|-- ejb.jar
|-- web.war

正在建设中。我的依赖项在每个子项目(ejb 和 web)的 build.gradle 文件中定义。现在我希望我的依赖项位于 ear/lib 文件夹中,而不是分散在 ejb/lib 和 web/lib 文件夹中。 我知道earlib依赖的概念,但我觉得我不需要在我的web和ejb项目中指定这个。我需要编写一个蚂蚁任务来完成这项工作还是有一种优雅的方式。 我试图尽可能好地代表 netbeans 构建战争。

【问题讨论】:

    标签: ejb-3.0 gradle ear java-ee-5


    【解决方案1】:

    正确的解决方案是管理依赖项的范围。

    在jar项目中,依赖放在compile范围内,这样可以的,因为jar在打包的时候并没有添加依赖

    在war项目中,依赖项放在providedCompile范围内。这允许我编译我的战争,但不能打包我的库。

    在我的项目的根目录中,我有我的 ear 构建文件。在这个构建文件中,我用 earLib 范围重新添加了所有依赖项(这仍然感觉不对,因为我已经定义了两次依赖项)。通过这样做,我的依赖项位于我定义的 lib 文件夹中项目的根目录中。

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2013-09-08
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多