directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <aok...@bellsouth.net>
Subject Re: JBoss apacheds-server-sar
Date Fri, 21 Apr 2006 17:46:49 GMT
Jörg Henne wrote:
> Jörg Henne schrieb:
>> Jörg Henne schrieb:
>>> Hi,
>>>
>>> has anybody actually successfully used the JBoss server SAR? The 
>>> problem I'm seeing, is that lots of the JARs included in the sar 
>>> (e.g. shared-ldap-0.9.6-SNAPSHOT.jar) are created using Maven and 
>>> contain a META-INF/maven/<groupId>/<artifactId>/pom.xml file. This

>>> file (as any file ending in .xml below META-INF) causes the 
>>> JARDeployer to reject the file. With the missing jars, however, the 
>>> service obviously can't be started.
>>> I currently don't see an easy way to either filter the JARs to 
>>> exclude the pom.xml or convice the JARDeployer to accept jars with a 
>>> pom.xml.
>>>
>>> Any help would be greatly appreciated.
>>>
>>> Thanks
>>> Joerg Henne
>> D'oh. I finally found
>> http://issues.apache.org/jira/browse/DIRSERVER-331
>> How about tweaking the SAR mojo to strip the included jars?
>>
>> Joerg Henne
> The attached patch does the trick (submitted this to 
> http://jira.codehaus.org/browse/MOJO-377, too).
>
> Joerg Henne
> ------------------------------------------------------------------------
>
> Index: .
> ===================================================================
> --- .	(revision 1841)
> +++ .	(working copy)
> @@ -17,6 +17,8 @@
>   */
>  
>  import java.io.File;
> +import java.io.FileInputStream;
> +import java.io.FileOutputStream;
>  import java.io.IOException;
>  import java.util.ArrayList;
>  import java.util.Collections;
> @@ -23,6 +25,9 @@
>  import java.util.Iterator;
>  import java.util.List;
>  import java.util.Set;
> +import java.util.zip.ZipEntry;
> +import java.util.zip.ZipInputStream;
> +import java.util.zip.ZipOutputStream;
>  
>  import org.apache.maven.artifact.Artifact;
>  import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
> @@ -30,6 +35,7 @@
>  import org.apache.maven.plugin.MojoExecutionException;
>  import org.apache.maven.project.MavenProject;
>  import org.codehaus.plexus.util.FileUtils;
> +import org.codehaus.plexus.util.IOUtil;
>  
>  public abstract class AbstractSarMojo
>      extends AbstractMojo
> @@ -176,7 +182,29 @@
>                      if ( "jar".equals( type ) && ! excludes.contains( descriptor
) )
>                      {
>                          getLog().info( "        o " + descriptor );
> -                        FileUtils.copyFileToDirectory( artifact.getFile(), libDirectory
);
> +
> +                        // copy jar skipping maven .xml files which would
> +                        // upset the JBoss JARDeployer.
> +                        ZipInputStream zis = new ZipInputStream(new FileInputStream(artifact.getFile()));
> +                        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(new
File(libDirectory, artifact.getFile().getName())));
> +                        
> +                        try {
> +                            ZipEntry ze = null;
> +                            while(null != (ze = zis.getNextEntry())) {
> +                                String name = ze.getName();
> +                                getLog().debug( "           - " + name );
> +                                if(name.startsWith("META-INF/maven") && 
> +                                    name.endsWith(".xml")) {
> +                                    getLog().info( "           ! skipping " + name );
> +                                    continue;
> +                                }
> +                                zos.putNextEntry(ze);
> +                                IOUtil.copy(zis, zos);
> +                            }
> +                        } finally {
> +                            zis.close();
> +                            zos.close();
> +                        }
>                      }
>                      else
>                      {
>   
Nice work.  Can you get the generated sar to work with a patched version 
of the plugin?

Alex
 

Mime
View raw message