【发布时间】:2013-12-19 15:18:14
【问题描述】:
关于我的知识水平的一些背景知识:我目前正在尝试学习如何使用 gradle 构建项目。到目前为止,我对构建工具没有太多经验(几乎没有)。我确实了解总体思路,并且以前看过 ant 和 maven 文件,但我自己从未编写过它们。到目前为止,我只是使用其他人构建脚本或使用 Eclipse 配置我的构建。所以我可能在这里完全错误的轨道,如果是这样,请指出我正确的方向。 另外,很遗憾我没有太多手工制作罐子的经验。
我有一个想要编译成 jar 的 Eclipse 项目。所需的库 jar 在我的本地文件系统上。我设法通过
让 gradle 使用这些dependencies {
compile fileTree(dir:'lib', include:'*.jar')
}
此外,我在src/main/java 中有我的源文件,只需在build.gradle 文件中使用apply plugin: 'java'。据我所知,尝试使用gradle build 构建项目似乎是正确的。
但是,据我了解,该库应该用于在 tomcat 上运行的 web 项目中,并使用 tomcat 提供的一些库。例如。我正在使用javax.servlet.http.HttpServletRequest。
该项目在 Eclipse 中运行良好,但是我将 tomcat 库添加到了我的 Eclipse 构建路径中。当我签入 Eclipse 时,我可以看到 javax.servlet.http.HttpServletRequest 是 servlet-api.jar 的一部分,它是 Tomcat 库的一部分。
现在,当我构建项目时,我得到构建错误,因为 java 编译器找不到类,因为我没有在依赖项中指定 servlet-api.jar。我想我可以以某种方式下载它(或学习如何将其指定为外部依赖项以使 gradle 从某个存储库下载它),但我不确定这是否正确。
有没有办法告诉 gradle 使用 Eclipse 使用的同一个库?或者其他一些通用的方式来告诉它所有的 tomcat jar,就像我可以简单地在 Eclipse 中添加完整的 Tomcat 库一样? 或者我是否真的需要这些 jar 的另一个副本并且必须单独指定每个?
另外,我是否需要将这些库 jar 添加到我的构建结果库 jar 中?据我所知,我还需要将我依赖的任何 jar 添加到生成的 jar 中。但是话又说回来,我在某处读到一些库是由 tomcat 本身提供的,因此它们必须成为部署在其上的任何战争的一部分。 恐怕,我对如何构建 jar-file 以在 war-file 中使用以部署在 上的组合感到困惑tomcat 使用 gradle 并且我不知道我的问题来自这些部分中的哪一个。我希望阅读本文的人可以帮助我理清思路并为我指明正确的方向,或者至少告诉我如何将 Tomcat 库中包含的 jar 添加到我的 gradle 依赖项中。
【问题讨论】:
标签: java eclipse tomcat jar gradle