Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Include Maven dependencies in the assembly war?

Tags:

maven-2

I am creating an assembly with packaging=war. I need to include few of the jars, which have been declared as project dependencies in pom.xml in my war (web-inf/lib)

How can I do this?

Edited on 15/10- My project creates few assemblies, one of which is supposed to give packaging of type-war. Some jar files, which are dependencies for the project(and have been declared in pom.xml)need be included in war under WEB-INF. How can I include them or how can i point out their paths to my local nexus repository path?

like image 673
user170114 Avatar asked Dec 17 '25 14:12

user170114


1 Answers

Can you be more precise? By default, when you run the mvn clean install command on a war project, Maven 2 will include all dependencies in WEB-INF/lib directories, excluding the ones with the scope test and provided.


If you create your war file using an assembly, then you have an assembly.xml file, which defines the content of your final war file. In this file, you can specify the list of dependencies you want to include:

<assembly>
    ...
    <dependencySets>
        <dependencySet>
           <includes>
               <include>log4j:log4j</include>
               <include>commons-lang:commons-lang</include>
               ...
           </includes>
           <unpack>false</unpack>
           <outputDirectory>WEB-INF/lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

(in this example, I asked to add log4j and commons-lang dependencies). For each dependency, you need to specify the groupId and the artifactId. The version is automatically detected regarding the list of dependencies you have set in your pom.xml file.

like image 139
Romain Linsolas Avatar answered Dec 19 '25 05:12

Romain Linsolas



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!