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