【发布时间】:2019-09-12 13:13:09
【问题描述】:
我正在使用 gradle V4.10.2 和 eclipse 构建 WAR 文件。我有一些常见的JAR 文件用于所有战争。我需要它们仅在编译期间使用,并且需要在构建到 WAR 文件时排除它们。另外我不想排除所有JARs 文件。
我已将所有 JAR 放入 libs 文件夹中。在build.gradle 中,我只指定了要包含的JAR。由于排除列表更大,因此包含我不使用的 JAR 列表exclude
war {
rootSpec.include("**/test.jar")
}
上面的结果是WAR 文件没有META-INF 文件夹。因此,webapp 没有启动。我尝试在eclipse 中将库添加为reference lib,但这会导致编译错误。
Execution failed for task ':compileJava'.
Compilation failed; see the compiler error output for details
所以我必须在 libs 文件夹中包含所有 JAR,然后只需要在构建的 WAR 中使用所需的 JAR。如何在构建中仅包含特定的 JAR?
【问题讨论】:
-
也许这会有所帮助:docs.gradle.org/4.10.2/userguide/…
-
你不应该使用 lib 目录,它是 2019 年(而且你不是一个用 ant 构建的穴居人!)你应该使用可以参与依赖解析的存储库中的依赖项
标签: java gradle web-applications jar build.gradle