1

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

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

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

4

1 回答 1

0

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

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

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

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

于 2013-06-20T10:15:23.703 回答