I have a problem that drives me nuts. I run mac os 10.6, with the bundled Java SE 6 framework. The Java SE 6 (JDK 1.6) jre on the mac bundles the old version (v.1) of javax.annotation that is pre-java ee 6 and hence lack the
@Resource(lookup=..)
annotation property
as well as the javax.annotation.sql package.
In eclipse, I can run JUnit test cases that depend on javax.annotation.sqlannotations, by having a dependency to javaee-api-6.0.jar (that contains the MR-version of javax.annotation). The problem is that I can't run it from the prompt via the maven surefire plugin. The jre version of javax.annotation.Resource hides the javaee-api-6.0.jar version of it etc.
When I put javaee-api-6.0.jar on ${java.home}/lib/endorsed compilation succeeds, but the surefire tests fail with a seg fault during weld bootstrapping (last output line from weld before seg fault is Transactional observers will be invoked synchronously.
). Same problem with weld se and glassfish embeddable (in container tests driven by junit).
I'm sure I'm doing some obvious mistake here...
Is there someone out there that can confirm successful execution of a junit testcase with embeddable ejbcontainer with execution dependency to either @Resource(lookup="..") or @DataSetDefinition on Mac OS?