使用maven运行测试会显示类路径问题

时间:2011-09-14 16:00:50

标签: java spring maven junit

我正在尝试使用Maven在我的春季网络应用程序上运行一些单元测试。该应用程序安装并运行良好,无需测试。

我在我的万无一失的测试报告中收到此错误:

java.lang.NoClassDefFoundError: javax/servlet/ServletException

测试本身如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:C:/myProjects/myWebapp/src/main/webapp/WEB-INF/applicationContext-test.xml"})
@Transactional
public class MyTest {
...

之前我收到了这个error,但是我从测试应用上下文中删除了对安全包的任何引用。并得到了这个最新的错误。

这两个问题都是由于我的类路径设置不正确造成的?测试时似乎没有包含maven依赖项?我怎样才能改变这一点,或者我还缺少什么?

1 个答案:

答案 0 :(得分:10)

试试这个。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>test</scope>
</dependency>

您的servlet容器将具有此功能,但您的一些测试必须具备此功能。您可能需要调整版本。

范围很重要。您不希望将此jar包装到您的战争中,但您希望它可用于您的测试。