ClassFormatError с использованием StrutsTestCase в NetBeans6.9 - PullRequest
1 голос
/ 06 июня 2011

Я пытаюсь использовать StrutsTestCase, чтобы выполнить модульное тестирование в моем java-приложении с использованием инфраструктуры Struts 1.3.8.Тем не менее, очень расстраивается, что когда я пишу тестовый класс и пытаюсь его запустить, возникает ошибка.Информация об ошибке приведена ниже.

Я совершенно сбит с толку, поскольку, когда я открываю класс HttpServletRequestWrapper, под методом конструирования есть красная линия.Я использую Java-EE-glassfish-v3 в качестве библиотеки, и когда я изменил ее на Java EE 6, условие остается прежним.

Я использую Struts 1.3.8 и StrutsTestCase 2.1.4 и мою IDEэто NetBeans 6.9, а операционная система - Fedora 14 (Java jdk - OpenJDK).Я не смог понять, почему происходит эта ошибка.Я был бы очень признателен, если кто-нибудь может мне помочь.

Вот сообщение об ошибке в NetBeans:

Атрибут Absent Code в методе, который не является родным или абстрактным в файле класса javax./ servlet / http / HttpServletRequestWrapper java.lang.ClassFormatError: отсутствует атрибут кода в методе, который не является собственным или абстрактным в файле класса javax / servlet / http / HttpServletRequestWrapper в java.lang.ClassLoader.defineClass1 (собственный метод) в java.ClassLoader.defineClass (ClassLoader.java:634) в java.security.SecureClassLoader.defineClass (SecureClassLoader.java:142) в java.net.URLClassLoader.defineClass (URLClassLoader.java:277) в java.netocess (java.netader).URLClassLoader.java:73) на java.net.URLClassLoader $ 1.run (URLClassLoader.java:212) на java.security.AccessController.doPrivileged (собственный метод) на java.net.URLClassLoader.findClass (URLClassLoader.java:20)java.lang.ClassLoader.loadClass (ClassLoader.java:321) в sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:294) в java.lang.ClassLoader.loadClass (ClassLoader.java:266) в java.lang.Class.forName0 (собственный метод) в java.lang.Class.forName (Class.java:186)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)

Благодарю.

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Похоже, что версия mismatch.app j2ee версия и версия, для которой написана библиотека Struts, должны быть одинаковыми.

0 голосов
/ 07 июня 2011

Вы определили свою основную функцию?
Вы можете попробовать это:

public static void main(String[] args) {
    junit.textui.TestRunner.run(LoginActionTest.class);
}

Надеюсь, это поможет вам.

...