I have web maven project. Project's output is a war file. I want to add this war file as dependency to project_b.
The project_b's pom.xml file, have a plugin as following:
...
<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <warName>geoserver</warName>
        <webappDirectory>${project.build.directory}/geoserver</webappDirectory>
        <packagingExcludes>WEB-INF/lib/servlet-api*.jar</packagingExcludes>
        <archive>
            <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
                <GeoServerModule>core</GeoServerModule>
                <Application-Name>${project.build.finalname}</Application-Name>
                <Project-Version>${project.version}</Project-Version>
                <Iteration-Name>${iteration}</Iteration-Name>
                <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
                <Git-Revision>${build.commit.id}</Git-Revision>
            </manifestEntries>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>war</goal>
            </goals>
        </execution>
    </executions>
</plugin>
...
How do I add the war of  web application to project_b with <groupId>org.itsme</groupId>, <artifactId>spring3-mvc-maven-xml-hello-world</artifactId>, <packaging>war</packaging> and <version>1.0-SNAPSHOT</version>?
 
                        
In Maven, adding dependency is just a piece of cake. Take a look on the following pom.xml.
Setting the above dependency is just the same as importing the project-banana.jar in project-apple.
Now i have another Maven web application project called project-orange with packaging type equals to war. Adding the above dependency linkage does not work at all since Java does not see .war file as a classpath.
To solve the problem, there are two approaches:
Create a Maven module which contains the classes of project-orange with jar packaging. Now you can treat the new Maven module as normal dependency.
Configure the maven-war-plugin such that it will build the .jar file when building the .war file. Add the following code under the node of your war project. The following is an example.
.
After running mvn install, you can find the following archive files in the target folder
Now you can edit the pom.xml of project-apple for adding the new dependency.
reference: http://eureka.ykyuen.info/2009/10/30/maven-dependency-on-jarwar-package/