Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何管理对servlet api的依赖关系?_Java_Maven 2_Guice - Fatal编程技术网

Java 如何管理对servlet api的依赖关系?

Java 如何管理对servlet api的依赖关系?,java,maven-2,guice,Java,Maven 2,Guice,我们有一个web maven模块,它被编译成war,因此不需要直接包含servlet api jar。我们使用的是为此提供的 当我试图编写一个小main来测试我的一个类时,问题就出现了。这不是单元测试,而是代码本身 这在java.lang.NoClassDefFoundError上失败:javax/servlet/http/HttpServletRequest: 除了将我的模块拆分为两个或三个不同的模块外,还有没有一个我没有想到的简单解决方法 也许最好的解决方案是将此测试仪移动到测试代码。如果您

我们有一个web maven模块,它被编译成war,因此不需要直接包含servlet api jar。我们使用的是为此提供的

当我试图编写一个小main来测试我的一个类时,问题就出现了。这不是单元测试,而是代码本身

这在java.lang.NoClassDefFoundError上失败:javax/servlet/http/HttpServletRequest:

除了将我的模块拆分为两个或三个不同的模块外,还有没有一个我没有想到的简单解决方法


也许最好的解决方案是将此测试仪移动到测试代码。

如果您想将其用于测试,可以使用test。不过,在Eclipse中,提供的测试对我来说很好——它被添加到类路径中。

如果您想将它用于测试,可以使用test。但是,在Eclipse中,提供的对我来说很好——它被添加到类路径中。

如果将Eclipse与m2eclipse一起使用,提供的将正确解析,并且主类将正确编译和运行。

如果将Eclipse与m2eclipse一起使用,提供的将正确解析,并且您的主类将正确编译和运行。

Scope:compile是默认的作用域,这不是他们想要的,因为这会将jar添加到war中。范围:测试应该工作。顺便说一句,我将代码移到Intellij中的“test”文件夹中,而不是Eclipse,并且它工作起来像个符咒。谢谢。那么IntelliJ和Maven之间有问题;Scope:compile是默认的作用域,这不是他们想要的,因为这会将jar添加到war中。范围:测试应该工作。顺便说一句,我将代码移到Intellij中的“test”文件夹中,而不是Eclipse,并且它工作起来像个符咒。谢谢。那么IntelliJ和Maven之间有问题;
public static void main(String[] args) {
  final Injector injector = Guice.createInjector(new StandardModule());
  // StandardModule is our standard module, with bindings to 
  // something that rightfully depends on servlet API
  ...
}