Hi,

I have been scratching my head on this one for awhile.

We have an applet which the class files are packaged up into a JAR file. 
This JAR file is then packaged up inside a WAR file which then gets 
packaged in an EAR file so that it can be deployed onto Websphere 
Application Server 6.1 (our web app server).
Now in order for the JAR file to be seen on the clients end (not on the 
web server we are deploying the war file to), the JAR file must not live 
inside the "WEB-INF\lib" directory. The JAR file must sit inside the root 
directory of the WAR. This allows the user to access the JAR file and 
download it to their PC
instead of the JAR file being processed server sidedly so that they can 
access the JAR that has the applet and run the applet client sidedly.

It appears that something did exist for maven 1.0 in the WAR building 
goal, but it was removed in maven 2.0. So now in order to manually put 
this file, i have to do some ugly ant script in the artifact which builds 
the WAR file, like this:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
              <executions>
                <execution>
                        <id>move-jars</id>
                        <phase>package</phase>
                        <configuration>
                                <tasks>
                                        <echo message="***Unzipping 
war***" />
                                        <unzip 
src="${project.build.directory}/${artifactId}-${version}.war"
 dest="${basedir}/tmp">
 
                                                <patternset>
                                                        <include name="**" 
/>
                                                </patternset>
                                        </unzip>
                                        <echo message="***war unzipped***" 
/>
                                                <move 
todir="${basedir}/tmp">
                                                        <fileset 
dir="${basedir}/tmp/WEB-INF/lib">
                                                                <include 
name="**/*.jar" />
                                                        </fileset>
                                                </move>
                                                <echo message="***Deleting 
old war***" />
                                                <delete 
file="${project.build.directory}/${artifactId}-${version}.war" />
                                                <delete 
includeEmptyDirs="true">
                                                        <fileset 
dir="${project.build.directory}/${artifactId}-${version}" />
                                                </delete>
                                                <echo message="***Creating 
new war***" />
                                                <zip 
destfile="${project.build.directory}/${artifactId}-${version}.war"
 basedir="${basedir}/tmp" update="true" />
                                                        <echo 
message="***Unzipping new war***" />
 
                                                <unzip 
src="${project.build.directory}/${artifactId}-${version}.war"
 dest="${project.build.directory}/${artifactId}-${version}">
                                                        <patternset>
                                                                <include 
name="**" />
                                                        </patternset>
                                                </unzip>
                                                <echo message="***Deleting 
tmp dir***" />
                                                        <delete 
includeEmptyDirs="true">
                                                                <fileset 
dir="${basedir}/tmp" />
                                                        </delete>
                                </tasks>
                        </configuration>
                        <goals>
                                <goal>run</goal>
                        </goals>
                </execution>
             </executions>
           </plugin>


Does anyone know a more better solution to achieving this?

***********************************************************************
WARNING: This e-mail (including any attachments) may contain legally
privileged, confidential or private information and may be protected by
copyright. You may only use it if you are the person(s) it was intended
to be sent to and if you use it in an authorised way.  No one is 
allowed to use, review, alter, transmit, disclose, distribute, print 
or copy this e-mail without appropriate authority.

If this e-mail was not intended for you and was sent to you by mistake,
please telephone or e-mail me immediately, destroy any hardcopies of
this e-mail and delete it and any copies of it from your computer
system. Any right which the sender may have under copyright law, and 
any legal privilege and confidentiality attached to this e-mail is not 
waived or destroyed by that mistake.

It is your responsibility to ensure that this e-mail does not contain
and is not affected by computer viruses, defects or interference by
third parties or replication problems (including incompatibility with
your computer system).

Opinions contained in this e-mail do not necessarily reflect the
opinions of the Queensland Department of Main Roads, Queensland
Transport or Maritime Safety Queensland, or endorsed organisations
utilising the same infrastructure.
***********************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to