带有两个不同src文件夹的java.lang.NoClassDefFoundError

时间:2014-03-24 16:39:36

标签: java junit

我在同一个项目中有两个源文件夹,一个名为layout,另一个名为usergenLayout源文件夹中有一个名为layout的类,它为user源文件夹中的类生成布局类(从给定类扩展)。以下是一些代码:

    GenLayout loader = new GenLayout(interfaceClass);
    byte[] bytes = loader.dump();
    implClass = defineClass(null, bytes, 0, bytes.length);

问题是,一旦我运行jUnit测试用例,它就会抛出

java.lang.NoClassDefFoundError: com.user.types.Byte

com.user.types.Byte是一个自定义类,与基本类型字节

无关

如果我将所有文件放在同一个src文件夹中,测试用例就可以正常工作。

两个源文件夹具有不同的输出文件夹,一个名为layout_bin,另一个名为user_bin

这是.classpath文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="layout_bin" path="layout"/>
    <classpathentry kind="src" output="user_bin" path="user"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="/VM_Test/VM/lib/junit-4.10.jar"/>
    <classpathentry kind="lib" path="/VM_Test/VM/lib/asm-all-4.0.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

0 个答案:

没有答案