繁体   English   中英

如何管理对servlet-api的依赖?

[英]How to manage dependency on servlet-api?

我们有一个编译为war的web maven模块,因此不需要直接包含servlet-api jar。 我们使用<scope>provided</scope>

当我尝试编写一个小的main()来测试我的一个类时,会出现问题。 这不是单元测试,而是驻留在代码本身。

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

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
  ...
}

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

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

如果要将其用于测试,可以使用<scope>test</scope> 但是在Eclipse中provided工作正常 - 它被添加到类路径中。

如果你在m2eclipse中使用eclipse, <scope>provided</scope>将被正确解析,你的主类将编译并正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM