Servlets 具有的Gradle生成webapp不存在错误
我使用Gradle构建我的web应用程序。 我创建src/main/webapp/WEB-INF/lib来放置名为foo.jar的jar文件 foo.jar中的类如下所示:Servlets 具有的Gradle生成webapp不存在错误,servlets,gradle,Servlets,Gradle,我使用Gradle构建我的web应用程序。 我创建src/main/webapp/WEB-INF/lib来放置名为foo.jar的jar文件 foo.jar中的类如下所示: package com.foo.util; class FooUtil { public static say() { System.out.println("Hello World"); } } :clean :compileJava package com.foo.util does not exist im
package com.foo.util;
class FooUtil {
public static say() { System.out.println("Hello World"); }
}
:clean
:compileJava
package com.foo.util does not exist
import com.foo.util.FooUtil;
在我的Servlet中,我编写了以下代码来使用它:
import com.foo.util.FooUtil;
...
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
FooUtil.say();
}
最后,我键入以下命令来构建项目:
gradle clean build
但是,我将得到如下错误:
package com.foo.util;
class FooUtil {
public static say() { System.out.println("Hello World"); }
}
:clean
:compileJava
package com.foo.util does not exist
import com.foo.util.FooUtil;
以下是我的build.gradle文件:
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'idea'
apply plugin: 'eclipse'
sourceCompatibility = 1.7
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile 'javax.servlet:javax.servlet-api:3.1.0'
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-all:1.9.5'
}
我是错过了什么还是做错了什么?
谢谢你为什么不读呢
首先:最好将您的foo.jar
放入其他文件夹,如libs
,然后将其声明为编译依赖项
依赖关系{
提供编译“javax.servlet:javax.servlet api:3.1.0”
编译文件('libs/foo.jar')
...
}
Gradle将负责将其复制到您的战争中的适当位置
您可以在上面的代码片段中看到的另一件事是使用用于Servlet API的providedCompile
配置。这意味着您的代码将针对该库进行编译,但不会包含在WAR中。这是避免web应用程序和servlet容器中的这些类之间发生冲突的正确方法