此外,很遗憾,我没有手动构建jar的经验。
我有一个Eclipse项目,我想将其编译成一个jar包。所需的库jar文件位于我的本地文件系统上。通过Gradle成功使用了这些文件。
dependencies {
compile fileTree(dir:'lib', include:'*.jar')
}
此外,我的源文件存储在src/main/java
目录下,而在build.gradle
文件中只是使用了apply plugin: 'java'
。通过gradle build
构建该项目应该没有问题,但以我目前的了解,该库应该运行在一个Tomcat上,并使用一些由Tomcat提供的库,例如:我正在使用javax.servlet.http.HttpServletRequest
。
在Eclipse中,该项目可以正常工作,但是需要将Tomcat库添加到Eclipse构建路径中。在Eclipse中,我可以看到javax.servlet.http.HttpServletRequest
是servlet-api.jar
的一部分,该文件是Tomcat库的一部分。
现在,当我构建项目时,由于我没有在依赖项中指定servlet-api.jar
,所以Java编译器找不到该类,从而导致构建错误。我猜我可以通过某种方式下载它(或者学习如何将其指定为外部依赖项,使Gradle从某个存储库中下载),但我不确定这是否正确。
有没有办法告诉Gradle使用Eclipse使用的同一库?或其他通用方法来告诉它所有Tomcat库,就像我可以在Eclipse中简单地添加完整的Tomcat库一样?还是说我实际上需要另一个这些库的副本,并且必须逐个进行指定?
另外,我需要将这些库JAR文件添加到我的构建结果库JAR文件中吗?据我所知,我需要将所有我依赖的jar文件添加到生成的jar文件中。但是,我也曾在某处读到过一些库由Tomcat自身提供,因此它们必须成为部署在Tomcat上的任何war文件的一部分。
我很困惑,我不知道如何使用Gradle构建用于在Tomcat 上部署的war文件中的jar文件。希望有人能帮助我理清思路,指导我正确的方向或告诉我如何将包含在Tomcat库中的jar文件添加到Gradle的依赖项中。