简体   繁体   中英

Maven: Combining multiple module jars into one war file?

I have a project babybird which has 3 components persistence , business and service

in babybird 's pom.xml I have following

   <modules>
        <module>persistence</module>
        <module>business</module>
        <module>service</module>
    </modules>

when I run mvn clean install , I see

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] babybird  ......................................... SUCCESS [2.801s]
[INFO] persistence ....................................... SUCCESS [3.321s]
[INFO] business .......................................... SUCCESS [0.832s]
[INFO] service ........................................... SUCCESS [0.694s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.168s
[INFO] Finished at: Tue Jan 22 12:09:48 PST 2013
[INFO] Final Memory: 18M/50M
[INFO] ------------------------------------------------------------------------

and each one of these modules generate a jar file.

Question : How can I combine them into one babybird.war ?
I am new to Maven and do not know what to look for to accomplish this task, please provide the pointers

That's fairly simple. Create another module named web or similar:

<modules>
    <module>persistence</module>
    <module>business</module>
    <module>service</module>
    <module>web</module>
</modules>

web module should depend on all others:

<dependencies>
    <dependency>
        <groupId>...</groupId>
        <artifactId>persistence</artifactId>
    </dependency>
    ...
</dependencies>

and have war packaging:

<packaging>war</packaging>

You'll also need web.xml in /src/main/webapp/WEB-INF . That's it.

  1. Create a maven war module
  2. Specify the 3 modules you want to be part of the war as dependencies (other than test or provided scope)
  3. run mvn package/install on the war module

Done.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM