gpt4 book ai didi

java - Eclipse - java.lang.ClassNotFoundException

转载 作者:IT老高 更新时间:2023-10-28 11:30:28 24 4
gpt4 key购买 nike

当尝试从 Eclipse 启动我的 JUnit-Test 时,我得到一个“ClassNotFoundException”。从控制台运行“mvn test”时 - 一切正常。此外,Eclipse 中没有报告任何问题。

我的项目结构如下:

  • 父项目(pom-packaging)
    • Web 项目(war-packaging - 我的 JUnit-test 在这里)
    • 弹性项目
    • 配置项目

edit:怎么找不到类?这是一个没有特殊库的简单 HelloWorld-Application。

这是我的 JUnit 的运行配置: alt text http://www.walkner.biz/_temp/runconfig.png


Testclass(但正如我所说;它也不适用于简单的 HelloWorld...):

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import biz.prognoserechnung.domain.User;
import biz.prognoserechnung.domain.UserRepository;
import biz.prognoserechnung.domain.hibernate.UserHibernateDao;

public class UserDaoTest {
/**
* the applicationcontext.
*/
private ApplicationContext ctx = null;

/**
* the user itself.
*/
private User record = null;

/**
* Interface for the user.
*/
private UserRepository dao = null;

@Before
public void setUp() throws Exception {
String[] paths = { "WEB-INF/applicationContext.xml" };
ctx = new ClassPathXmlApplicationContext(paths);
dao = (UserHibernateDao) ctx.getBean("userRepository");
}

@After
public void tearDown() throws Exception {
dao = null;
}

@Test
public final void testIsUser() throws Exception {
Assert.assertTrue(dao.isUser("John", "Doe"));
}

@Test
public final void testIsNoUser() throws Exception {
Assert.assertFalse(dao.isUser("not", "existing"));
Assert.assertFalse(dao.isUser(null, null));
Assert.assertFalse(dao.isUser("", ""));
}
}

最佳答案

我多次遇到这种情况,经过多次尝试,我找到了解决方案。

检查您的项目构建路径并为每个文件夹启用特定的输出文件夹。逐个查看项目的每个源文件夹并设置 maven 将使用的输出文件夹。

比如你的web项目的src/main/java应该在web项目下有target/classes,测试类应该有target/test-classes 也在web项目下等等。

使用此配置将允许您在 eclipse 中执行单元测试。

再提一个建议,如果您的 Web 项目的测试需要资源下的一些配置文件,请务必将该文件夹包含为源文件夹并进行正确的构建路径配置。

希望对你有帮助。

关于java - Eclipse - java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1052978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com