当前位置: 首页 > 面试题库 >

Eclipse-java.lang.ClassNotFoundException

司寇季
2023-03-14
问题内容

尝试从Eclipse中启动JUnit-Test时,出现“ ClassNotFoundException”。从控制台运行“
MVN测试”时,一切正常。另外,Eclipse中没有报告任何问题。

我的项目结构如下:

  • 父项目(pom包装)
    • Web项目(战争包装-我的JUnit测试在这里)
    • Flex项目
    • 配置项目

编辑:如何找不到该类?这是一个简单的HelloWorld-Application,没有特殊的库。

这是我的JUnit的运行配置:
替代文本http://www.walkner.biz/_temp/runco​​nfig.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应该target/classes在Web项目下,测试类target/test- classes也应该在Web项目下,依此类推。

使用此配置将使您能够在Eclipse中执行单元测试。

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

希望能帮助到你。



 类似资料:
  • Eclipse提供了一个出色的插件m2eclipse ,它将Maven和Eclipse无缝集成在一起。 m2eclipse的一些功能如下 - 您可以从Eclipse运行Maven目标。 您可以使用自己的控制台查看Eclipse中Maven命令的输出。 您可以使用IDE更新maven依赖项。 您可以从Eclipse中启动Maven构建。 它基于Maven的pom.xml对Eclipse构建路径进行依

  • 如果您已经下载并安装了Eclipse,那么您就没什么可做的了。 Eclipse预先捆绑了Ant插件,随时可以使用。 按照简单的步骤,将Ant集成到Eclipse中。 确保build.xml是java项目的一部分,并且不驻留在项目外部的位置。 按照Window 》 Show View 》 Other 》 Ant 》 Ant.启用Ant视图Window 》 Show View 》 Other 》 An

  • 以下是安装jBPM插件的先决条件 - Java 1.5(或更高版本)SE JDK Eclipse 4.2或任何版本和jBPM插件 由于jBPM是用Java编写的,因此我们将介绍如何在本节中添加所需的插件。 考虑到最大的Java用户使用Eclipse,让我们看看如何在Eclipse中添加jBPM插件。 从以下链接下载二进制文件 - http://download.jboss.org/drools/r

  • 本章介绍如何在Eclipse中使用JDB。 在继续之前,您需要安装Eclipse Indigo。 按照下面给出的步骤在您的系统上安装Eclipse Indigo。 第1步:下载并安装Eclipse 您可以从以下链接下载Eclipse: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr2

  • PyDev是Eclipse IDE的开源插件,可以在Python,Jython以及IronPython中开发项目。 它托管在https://pydev.org 。 下面给出了在Eclipse IDE中安装PyDev插件的分步过程。 Step 1 - 打开Eclipse IDE并从“帮助”菜单中选择“ Install New Software选项。 Step 2 - 在带有标签的工作前的文本框中输入

  • 1. 设置 每次新装Eclipse,都要设半天......可以设置好之后Export一个整体配置文件(File->Export->General->Preferences,Export All),以后直接Import这个文件。不过文件导出时又多又乱,需要排序,然后整理出修改过的部分。SpringSide整理了一个基于Eclipse 4.2(Juno) 的版本,在support/eclipse目录中