Thanks Siegfried! I may be able to carve out different sets of
dependencies for this approach. I'll have to think about it a bit.



> 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]


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

Reply via email to