I've searched on internet for quite some time and I'm unable to figure out how to configure the maven-war plugin or something alike so that the system dependencies are included in the built-war (WEB-INF/lib folder)
I use the maven dependency plugin in case of a jar-build as :
<plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
but I'm unable to understand what is to be done in case of a war build. I've tried using the maven-war plugin, but it's not including system-dependencies in the build.
[UPDATE]
I'm having depedencies of type :
<dependency> <groupId>LoginRadius</groupId> <artifactId>LoginRadius</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath> </dependency>
in my POM and these dependencies are not included in WEB-INF/lib when the war is build.
In Maven, a dependency is just another archive—JAR, ZIP, and so on—which our current project needs in order to compile, build, test, and/or run. These project dependencies are collectively specified in the pom.
Dependencies are external JAR files (Java libraries) that your project uses. If the dependencies are not found in the local Maven repository, Maven downloads them from a central Maven repository and puts them in your local repository.
Let me try to summarise the options I tried :
<packagingIncludes>${java.home}/lib/jfxrt.jar</packagingIncludes>
This doesn't work! Also, only having the jar name, excludes everything else, so if you are willing to try then try
<packagingIncludes>${java.home}/lib/jfxrt.jar,**/*</packagingIncludes>
Jatin's answer seemed a bit complex and I tried going through the POM again & again to figure out where exactly were the system jars mentioned to be included in WEB-INF POM.
Anyways, I ended up using this solution, which wasn't working at first but after some time and some corrections worked :
I installed the jar in my local repository using the below command :
mvn install:install-file -Dfile="C:\Users\hp\Documents\NetBeansProjects\TwitterAndLoginRadiusMaven\lib\LoginRadius-1.0.jar" -DgroupId=LoginRadius -DartifactId=LoginRadius -Dversion=1.0 -Dpackaging=jar`
After running the above command, I changed the dependency in POM to
<dependency> <groupId>LoginRadius</groupId> <artifactId>LoginRadius</artifactId> <!--<scope>system</scope>--> <version>1.0</version> <!--<systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath>--> </dependency>
NOTE - See I've commented the system scope & systemPath.
Building the war now, includes this LoginRadius-1.0.jar in WEB-INF/lib
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With