javaee-api-6.0.jar contains classes with empty methods and is only useful
for compiling.

You should use one of the javaee6 implementations provided by jboss (
http://search.maven.org/#artifactdetails%7Corg.jboss.spec%7Cjboss-javaee_6.0_spec%7C1.0.0.Beta3%7Cpom
)
or glassfish (not sure what artifactId they use) to actually run things,
like tests.

I don't understand why the tests run under maven though, it'd be
interesting to provide a sample project to reproduce the bug.

Regards,

Fred Bricon

On Tue, Jul 24, 2012 at 12:23 PM, Markus Karg <k...@quipsy.de> wrote:

> I have a strange classpath problem in m2e and hope you can help.****
>
> ** **
>
> At the command line (CMD.EXE) on my Windows 7 (64 Bit) machine I can type
> “mvn test”, which compiles and tests and then says all is good.****
>
> ** **
>
> Also, I can run “Run As > Maven test”, which prints in the “Console” view
> that the test passed and all is good.****
>
> ** **
>
> But within Eclipse when doing “Run As > JUnit Test”, it flips the bar to
> red after some tests and then says:****
>
> ** **
>
> java.lang.ClassFormatError: Absent Code attribute in method that is not
> native or abstract in class file javax/ejb/EJBException****
>
>                 at java.lang.ClassLoader.defineClass1(Native Method)****
>
>                 at
> java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)****
>
>                 at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
> ****
>
>                 at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)***
> *
>
>                 at
> java.net.URLClassLoader.defineClass(URLClassLoader.java:283)****
>
>                 at
> java.net.URLClassLoader.access$000(URLClassLoader.java:58)****
>
>                 at java.net.URLClassLoader$1.run(URLClassLoader.java:197)*
> ***
>
>                 at java.security.AccessController.doPrivileged(Native
> Method)****
>
>                 at
> java.net.URLClassLoader.findClass(URLClassLoader.java:190)****
>
>                 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)**
> **
>
>                 at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)****
>
>                 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)**
> **
>
>                 at
> de.quipsy.entities.ProjectAPQPCompliance.canBeEdited(ProjectAPQPCompliance.java:68)
> ****
>
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)****
>
>                 at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> ****
>
>                 at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> ****
>
>                 at java.lang.reflect.Method.invoke(Method.java:597)****
>
>                 at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> ****
>
>                 at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> ****
>
>                 at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> ****
>
>                 at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> ****
>
>                 at
> org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)****
>
>                 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> ****
>
>                 at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> ****
>
>                 at
> org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)****
>
>                 at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)****
>
>                 at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)****
>
>                 at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)****
>
>                 at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)****
>
>                 at
> org.junit.runners.ParentRunner.run(ParentRunner.java:300)****
>
>                 at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> ****
>
>                 at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> ****
>
>                 at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> ****
>
>                 at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> ****
>
>                 at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> ****
>
>                 at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> ****
>
> ** **
>
> Why is this working at CLI but not in GUI? And what the heck is “Absent
> Code attribute” (I only know “ClassNotFoundException”)?****
>
> ** **
>
> I tried to fix it using “Maven > Update Project…”, but this did not help.
> Strange but true, the code compiles very well in Eclipse, including all
> uses of javax.ejb.EJBException in the java source, and the tree node “Maven
> Dependencies” actually shows “javaee-api-6.0.jar” containing
> “javax/ejb/EJBException” in Eclipse’s “Package Explorer” view!****
>
> ** **
>
> I’m really confused…!****
>
> ** **
>
> Thanks!****
>
> Markus****
>
> _______________________________________________
> m2e-users mailing list
> m2e-users@eclipse.org
> https://dev.eclipse.org/mailman/listinfo/m2e-users
>
>


-- 
"Have you tried turning it off and on again" - The IT Crowd
_______________________________________________
m2e-users mailing list
m2e-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to