------- Forwarded message follows -------
From: Siegfried G�schl <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Re: Making a massive earfile...
Date sent: Thu, 30 Oct 2003 10:01:00 +0100
Hi James,
what I did on my last consulting job is to externalize the
dependencies using external entity references ...
<?xml version="1.0"?>
<!DOCTYPE project[
<!ENTITY foo.dependencies SYSTEM "file:../master/deps/foo-
LATEST.inc">
]>
<project>
<dependencies>
&foo.dependencies;
<dependency>
<groupId>foo</groupId>
<artifactId>foo</artifactId>
<version>${version}</version>
<properties>
<ear.bundle>false</ear.bundle>
</properties>
</dependency>
</dependencies>
</project>
I was forced to do that since the MEVENIDE plugin did not work and we
had different Cocoon and Wesphere Application Server versions to
support. With a little bit of planning it is possible to get quite
far with it but there are couple of problems worth mentioning:
-) Since the fragments are included into each project there is not
much flexibility in bundling a JAR for project A but not for project
B
or the other way round.
-) It is possible to define a JAR more than once and possibly with
different version .... :-(
Cheers,
Siegfried Goeschl
On 29 Oct 2003 at 16:54, James CE Johnson wrote:
> I'm looking for some advice on the best way to make a single massive
> ear file for the app I'm building.
>
> Currently, my project consists of:
> - one jar of plain old objects
> - two jars of EJBs
> - one war of the webapp bits
>
> Each of these four things are subprojects within my larger project.
>
> I want to give our production team a single ear file that contains
> everything needing to be deployed. To do that I can easily create a
> project.xml that references each of the above and use ear:ear to
> bundle up the result. But... That ear file needs to also include
the
> rather large list of "third party" jars required by the code I've
> written. All of those are already listed in each subprojects'
> project.xml. Is there a clever way to construct bigEar/project.xml
so
> that I don't have to copy/paste the list of dependencies from each
of
> the subprojects?
>
> My current solution looks something like this:
>
> <goal name="earfile">
>
> <copy file="conf/application.xml"
> todir="${maven.build.dir}"
> filtering="true"
> />
> <copy file="conf/jboss-app.xml"
> todir="${maven.build.dir}">
> <filterset>
> <filter token="APPLICATION_EARFILE"
> value="${maven.final.name}.ear"/>
> </filterset>
> </copy>
>
> <deploy:copy-deps todir="${maven.build.dir}"
>
projectDescriptor="${basedir}/../security/project.xml"/>
> <deploy:copy-deps todir="${maven.build.dir}"
> projectDescriptor="${basedir}/../service/project.xml"/>
> <deploy:copy-deps todir="${maven.build.dir}"
> projectDescriptor="${basedir}/../view/project.xml"/>
>
> <ear earfile="${maven.build.dir}/${maven.final.name}.ear"
> appxml="${maven.build.dir}/application.xml">
>
> <fileset dir="${maven.build.dir}"
> includes="*.jar,*.war" />
>
> <metainf dir="${maven.build.dir}"
> includes="jboss-app.xml" />
> </ear>
>
> </goal>
>
>
> --------------------------------------------------------------------
-
> To unsubscribe, e-mail: [EMAIL PROTECTED] For
> additional commands, e-mail: [EMAIL PROTECTED]
>
------- End of forwarded message -------
Siegfried Goeschl
CTO
=================================
IT20one GmbH
mail: [EMAIL PROTECTED]
phone: +43-1-9900046
fax: +43-1-52 37 888
www.it20one.at
Siegfried Goeschl
CTO
=================================
IT20one GmbH
mail: [EMAIL PROTECTED]
phone: +43-1-9900046
www.it20one.at
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]