[英]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.