如何告诉 Gradle 到哪里寻找 javax.servlet?
How tell Gradle where to look for javax.servlet?
我正在尝试使用 gradle 作为构建系统制作一个 servlet 应用程序。问题是 gradle 找不到 javax.servlet,我收到此错误:
Could not find javax.servlet:javax.servlet-api:4.0
我从官网下载了Tomcat9,解压到~/opt/tomcat9。 ~/opt/tomcat9/lib 文件夹,servlet-api.jar 所在的文件夹。我想 gradle 正在寻找那个 jar 文件,但我该如何指定它的路径?
我们通常将 Servlet API 作为 compileOnly 依赖项添加到我们的项目中。这样 gradle 将使用 JAR 进行编译,但不将其包含在部署中。在部署时,您的 web container 将提供 Servlet API.
在您的依赖项声明中添加类似这样的内容:
compileOnly 'org.apache.tomcat:tomcat-servlet-api:9.0.37'
使用本地 Tomcat 中的 Jar 在理论上是可行的,但我会避免非元数据依赖性,因为将所有内容“放在一个地方”通常更简单。
也就是说,将包含 JAR 的本地目录添加到您的构建中类似于
repositories {
flatDir {
dirs 'path/to/tomcat/libs'
}
}
我正在尝试使用 gradle 作为构建系统制作一个 servlet 应用程序。问题是 gradle 找不到 javax.servlet,我收到此错误:
Could not find javax.servlet:javax.servlet-api:4.0
我从官网下载了Tomcat9,解压到~/opt/tomcat9。 ~/opt/tomcat9/lib 文件夹,servlet-api.jar 所在的文件夹。我想 gradle 正在寻找那个 jar 文件,但我该如何指定它的路径?
我们通常将 Servlet API 作为 compileOnly 依赖项添加到我们的项目中。这样 gradle 将使用 JAR 进行编译,但不将其包含在部署中。在部署时,您的 web container 将提供 Servlet API.
在您的依赖项声明中添加类似这样的内容:
compileOnly 'org.apache.tomcat:tomcat-servlet-api:9.0.37'
使用本地 Tomcat 中的 Jar 在理论上是可行的,但我会避免非元数据依赖性,因为将所有内容“放在一个地方”通常更简单。
也就是说,将包含 JAR 的本地目录添加到您的构建中类似于
repositories {
flatDir {
dirs 'path/to/tomcat/libs'
}
}