Return-Path: Delivered-To: apmail-geronimo-xbean-dev-archive@minotaur.apache.org Received: (qmail 5663 invoked from network); 8 Oct 2009 06:35:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Oct 2009 06:35:56 -0000 Received: (qmail 66991 invoked by uid 500); 8 Oct 2009 06:35:56 -0000 Delivered-To: apmail-geronimo-xbean-dev-archive@geronimo.apache.org Received: (qmail 66945 invoked by uid 500); 8 Oct 2009 06:35:56 -0000 Mailing-List: contact xbean-dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: xbean-dev@geronimo.apache.org Delivered-To: mailing list xbean-dev@geronimo.apache.org Received: (qmail 66931 invoked by uid 99); 8 Oct 2009 06:35:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Oct 2009 06:35:56 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Oct 2009 06:35:53 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id E0613234C1EC for ; Wed, 7 Oct 2009 23:35:31 -0700 (PDT) Message-ID: <1021356936.1254983731912.JavaMail.jira@brutus> Date: Wed, 7 Oct 2009 23:35:31 -0700 (PDT) From: "Vamsavardhana Reddy (JIRA)" To: xbean-dev@geronimo.apache.org Subject: [jira] Created: (XBEAN-140) ClassFinder needs better processing of creating list of classes from JARs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org ClassFinder needs better processing of creating list of classes from JARs ------------------------------------------------------------------------- Key: XBEAN-140 URL: https://issues.apache.org/jira/browse/XBEAN-140 Project: XBean Issue Type: Bug Components: finder Affects Versions: 3.5 Reporter: Vamsavardhana Reddy I am using the ClassFinder with Geronimo code. One of the JARs that needed to be processed in my case is com\sun\xml\bind\jaxb-xjc\2.0.5\jaxb-xjc-2.0.5.jar. This jar contains a directory named 1.0 with some classes in it. When ClassFinder is processes this JAR, it is constructing class names like "1.0.com.sun.codemodel.CodeWriter" etc which are not valid class names and can't be located in the jar at "/1/0/com/sun/codemodel/CodeWriter.class" (but is present at "/1.0/com/sun/codemodel/CodeWriter.class"). This is resulting in stack traces like the following: java.lang.Exception: Could not load 1/0/com/sun/codemodel/CodeWriter.class at org.apache.xbean.finder.ClassFinder.readClassDef(ClassFinder.java:726) at org.apache.xbean.finder.ClassFinder.(ClassFinder.java:141) at org.apache.xbean.finder.ClassFinder.(ClassFinder.java:97) at org.apache.xbean.finder.ClassFinder.(ClassFinder.java:86) at org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:269) at org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:247) at org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:167) at org.apache.tuscany.sca.contribution.jee.JavaEEModuleHelper.getMetadataCompleteModules(JavaEEModuleHelper.java:116) at org.apache.tuscany.sca.contribution.jee.impl.JavaEEIntrospectorImpl.introspectWebArchive(JavaEEIntrospectorImpl.java:80) at org.apache.tuscany.sca.contribution.jee.impl.WebArchiveProcessor.read(WebArchiveProcessor.java:46) at org.apache.tuscany.sca.contribution.jee.impl.WebArchiveProcessor.read(WebArchiveProcessor.java:1) at org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint$LazyURLArtifactProcessor.read(DefaultURLArtifactProcessorExtensionPoint.java:222) at org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.read(ExtensibleURLArtifactProcessor.java:96) at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase(ContributionServiceImpl.java:541) at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:419) at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:198) at org.apache.geronimo.tuscany.EmbeddedRuntimeGBean.doStart(EmbeddedRuntimeGBean.java:90) ... I guess there will also be problems when a directory inside the jar has a dot in its name. It is better to eliminate invalid class names while creating the list of classes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.