I don't seem to be able to reproduce the issue.

In hopes that buildbot might have better luck I setup a builder that does a 
build with an empty repo.  It doesn't seem to be showing up, though.  Pinging 
infra to see if I can sort that out.


-David


On Mar 29, 2012, at 11:42 AM, Filip Hanik (mailing lists) wrote:

> 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:[email protected]]
>> Sent: Wednesday, March 28, 2012 9:02 PM
>> To: [email protected]
>> 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
>>> 
>>> 
> 
> 

Reply via email to