On Wed, Sep 2, 2009 at 2:43 PM, Luciano Resende<[email protected]> wrote: > I'm still having various issues trying to get a successful top down > 1.5.1 build to complete. I'm right now investigating issues with the > contribution-jee and here is what I have found : > > OpenEJBExceptions trying to introspect WebArchive : > Caused by: > org.apache.tuscany.sca.contribution.service.ContributionReadException: > org.apache.openejb.OpenEJBException: Unable to extract jar. error in > opening zip file: error in opening zip file > at > org.apache.tuscany.sca.contribution.jee.JavaEEModuleHelper.getMetadataCompleteModules(JavaEEModuleHelper.java:42) > at > org.apache.tuscany.sca.contribution.jee.impl.JavaEEIntrospectorImpl.introspectWebArchive(JavaEEIntrospectorImpl.java:80) > > This seems like a openEJB bug, Mac OS X are generating temp files with > (+) in the names (e.g > /var/folders/PI/PIxzw8eOGJmebuUgCle+ek+++TI/-Tmp-/temp4648477624506672403.war) > and the code in their DeploymentLoader file tries to decode the file > name causing the plus sign to be substituted by spaces thus causing a > the file path to be invalid and generating a internal exception. The > patch below seems to resolve this problem, but I'm not very familiar > with the OpenEJB code to calim this is a proper fix > > Index: > openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java > =================================================================== > --- > openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java > (revision > 810677) > +++ > openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java > (working > copy) > @@ -148,7 +148,8 @@ > return appModule; > } else if (WebModule.class.equals(moduleClass)) { > String moduleId = toFile(baseUrl).getName(); > - String warPath = URLs.toFilePath(baseUrl); > + //String warPath = URLs.toFilePath(baseUrl); > + String warPath = baseUrl.getPath(); > > AppModule appModule = new > AppModule(OpenEJB.class.getClassLoader(), warPath); > addWebModule(appModule, warPath, > OpenEJB.class.getClassLoader(), null, moduleId); >
I have created a JIRA for OpenEJB for this issue : https://issues.apache.org/jira/browse/OPENEJB-1068 -- Luciano Resende http://people.apache.org/~lresende http://lresende.blogspot.com/
