for karaf it should be on apache repo (if not that a karaf issue, we already have some few),
for others that's not normal. that's certainly because some entities were enhanced with openjpa and openjpa was not a dependency of the plugin - Romain 2012/3/29 Filip Hanik (mailing lists) <devli...@hanik.com> > Hey Thanks David, > Here is my entire patch to get it to work, total hacks as it does > 1. disable annotation scanning on javax.annotation > 2. disable annotation scanning on javax.ws.rs. > 3. disable the karaf generate descriptor plugin > > Index: openejb/container/openejb-core/pom.xml > =================================================================== > --- openejb/container/openejb-core/pom.xml (revision 1306627) > +++ openejb/container/openejb-core/pom.xml (working copy) > @@ -390,6 +390,11 @@ > <version>0.0.1-SNAPSHOT</version> > <artifactId>spi-helper-jee6-profile</artifactId> > </dependency> > + <dependency> <!-- to get the jee6 profile without configuration > --> > + <groupId>org.apache.openejb</groupId> > + <artifactId>javaee-api</artifactId> > + <version>6.0-3</version> > + </dependency> > </dependencies> > </plugin> > </plugins> > @@ -403,6 +408,7 @@ > <dependency> > <groupId>org.apache.openejb</groupId> > <artifactId>javaee-api</artifactId> > + <version>${javaee-api.version}</version> > </dependency> > <!-- required for endorsed dir support --> > <dependency> > Index: openejb/osgi/openejb-feature/pom.xml > =================================================================== > --- openejb/osgi/openejb-feature/pom.xml (revision 1306627) > +++ openejb/osgi/openejb-feature/pom.xml (working copy) > @@ -39,6 +39,7 @@ > </includes> > </resource> > </resources> > +<!-- > <plugins> > <plugin> > <groupId>org.apache.karaf.tooling</groupId> > @@ -57,5 +58,6 @@ > </executions> > </plugin> > </plugins> > +--> > </build> > </project> > Index: openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml > =================================================================== > --- openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml (revision > 1306627) > +++ openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml (working > copy) > @@ -80,6 +80,12 @@ > </dependency> > > <dependency> > + <groupId>org.apache.openwebbeans</groupId> > + <artifactId>openwebbeans-impl</artifactId> > + <version>${org.apache.openwebbeans.version}</version> > + </dependency> > + > + <dependency> > <groupId>junit</groupId> > <artifactId>junit</artifactId> > <scope>test</scope> > Index: > > maven-plugins/dd-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/ > dd/MergeDDForWebappMojo.java > =================================================================== > --- > > maven-plugins/dd-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/ > dd/MergeDDForWebappMojo.java (revision 1306393) > +++ > > maven-plugins/dd-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/ > dd/MergeDDForWebappMojo.java (working copy) > @@ -145,7 +145,7 @@ > final Map<String, Merger<?>> mergers = new HashMap<String, > Merger<?>>(); > final ClassLoader cl = new URLClassLoader(new URL[] { > getClass().getProtectionDomain().getCodeSource().getLocation() }, > ClassLoader.getSystemClassLoader()); > final AbstractFinder finder = new ClassFinder(cl, true).link(); > - final List<Class> foundMergers = finder.findSubclasses((Class) > cl.loadClass(Merger.class.getName())); > + final List<Class> foundMergers = > (List<Class>)finder.findSubclasses((Class) > cl.loadClass(Merger.class.getName())); > > for (Class<? extends Merger> m : foundMergers) { > try { > Index: > > maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven > /plugin/spi/SpiMojo.java > =================================================================== > --- > > maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven > /plugin/spi/SpiMojo.java (revision 1306393) > +++ > > maven-plugins/spi-helper-maven-plugin/src/main/java/org/apache/openejb/maven > /plugin/spi/SpiMojo.java (working copy) > @@ -192,6 +192,8 @@ > getLog().warn("can't find " + annotation); > continue; > } > + if > (annClazz.getName().indexOf("javax.annotation")==0) continue; > + if (annClazz.getName().indexOf("javax.ws.rs > .")==0) > continue; > > if (!useMeta) { > for (Class<?> clazz : > finder.findAnnotatedClasses(annClazz)) { > > > -----Original Message----- > > From: David Blevins [mailto:david.blev...@gmail.com] > > Sent: Wednesday, March 28, 2012 9:02 PM > > To: dev@openejb.apache.org > > Subject: Re: Build fails with an empty maven repository > > > > Thanks, Filip! > > > > I have a build running with an empty local maven repo and will see if I > get the > > same or similar results. > > > > For a while there we had buildbot build setup to always download the jar > for > > this reason to try and flush out these issues when they happen. Buildbot > had > > some disk space issues for a while there and I ended up reverting that > part of > > the build setup. > > > > Seems as though it might be a good one to revisit. A once a week "full > > download" build might be wise. I'll see if I can't add that tomorrow. > > > > > > Side note, good to see a new face! Welcome! > > > > > > -David > > > > > > On Mar 28, 2012, at 5:21 PM, Filip Hanik (mailing lists) wrote: > > > > > This may be very similar to > > > > > http://openejb.markmail.org/thread/xkvzg4fvn6gjppmo#query:+page:1+mi > > d:bl5bed > > > 4gxkrbpens+state:results > > > > > > I get the exact same problem here, the NoClassDefFoundError, and it > bails > > > out when building the openejb-core module. So far, it's proven very > > > difficult to get a complete "mvn install" in the openejb root to work. > > > > > > > > > It happens when the system tries to scan the classes in the > > javax.annotation > > > package > > > While I don't know the exact reason for it, since I see no correlation > > > between PostConstruct and javax.interceptor.InvocationContext, this did > > > solve my problem, albeit a workaround, it gives me a working > repository. > > > I'm not suggesting this is the correct fix, as this problem does show > up > in > > > other places in the build as well [1] > > > > > > Index: > > > maven-plugins/spi-helper-maven- > > plugin/src/main/java/org/apache/openejb/maven > > > /plugin/spi/SpiMojo.java > > > > > ========================================================== > > ========= > > > --- > > > maven-plugins/spi-helper-maven- > > plugin/src/main/java/org/apache/openejb/maven > > > /plugin/spi/SpiMojo.java (revision 1306393) > > > +++ > > > maven-plugins/spi-helper-maven- > > plugin/src/main/java/org/apache/openejb/maven > > > /plugin/spi/SpiMojo.java (working copy) > > > @@ -192,6 +192,7 @@ > > > getLog().warn("can't find " + annotation); > > > continue; > > > } > > > + if > > > (annClazz.getName().indexOf("javax.annotation")==0) continue; > > > > > > if (!useMeta) { > > > for (Class<?> clazz : > > > finder.findAnnotatedClasses(annClazz)) { > > > > > > > > > > > > This basically bypasses all annotation checks for classes in the > > > javax.annotation package > > > > > > There was one module that seemed to be missing a dependency, not sure > > if the > > > parent already includes this. > > > > > > Index: openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml > > > > > ========================================================== > > ========= > > > --- openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml > > (revision > > > 1306627) > > > +++ openejb/arquillian-tomee/arquillian-tomee-remote/pom.xml > > (working > > > copy) > > > @@ -80,6 +80,12 @@ > > > </dependency> > > > > > > <dependency> > > > + <groupId>org.apache.openwebbeans</groupId> > > > + <artifactId>openwebbeans-impl</artifactId> > > > + <version>${org.apache.openwebbeans.version}</version> > > > + </dependency> > > > + > > > + <dependency> > > > <groupId>junit</groupId> > > > <artifactId>junit</artifactId> > > > <scope>test</scope> > > > > > > [1] - When the system inspects javax.ws.rs.Path during the build of > > > [INFO] Building OpenEJB :: Web Examples :: REST Example > > > [INFO] task-segment: [compile] > > > > > > It throws this error: > > > > > > java.lang.NoClassDefFoundError: > > > org/apache/openjpa/enhance/PersistenceCapable > > > 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 java.lang.ClassLoader.loadClass(ClassLoader.java:247) > > > at java.lang.Class.getDeclaredMethods0(Native Method) > > > at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) > > > at java.lang.Class.getDeclaredMethods(Class.java:1791) > > > at > > > > > org.apache.xbean.finder.AnnotationFinder.findAnnotatedMethods(Annotat > > ionFind > > > er.java:584) > > > at > > > org.apache.openejb.maven.plugin.spi.SpiMojo.execute(SpiMojo.java:219) > > > at > > > > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugin > > Manage > > > r.java:490) > > > at > > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLi > > fe > > > cycleExecutor.java:694) > > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecy > > cle > > > (DefaultLifecycleExecutor.java:556) > > > at > > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLif > > ec > > > ycleExecutor.java:535) > > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandl > > eFail > > > ures(DefaultLifecycleExecutor.java:387) > > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments( > > Defa > > > ultLifecycleExecutor.java:348) > > > at > > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycl > > e > > > Executor.java:180) > > > at > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > > > at > > > > > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6 > > 0) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > > ava:39 > > > ) > > > at > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > > sorImpl > > > .java:25) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > at > > > org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > > > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > > > at > > > org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > > > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > > > Caused by: java.lang.ClassNotFoundException: > > > org.apache.openjpa.enhance.PersistenceCapable > > > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > > > at java.security.AccessController.doPrivileged(Native Method) > > > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > > > ... 35 more > > > > > > > > >