I have a situation where I need to download all the classifiers in a GAV as part of my WAR bundle.
However, when I add the dependencies they don’t show up in the final build product. You’ll notice there are several DLLs as classifiers.
pom.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>products</groupId>
<artifactId>rpcrmscomm-service</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>clibs</groupId>
<artifactId>xPlatExcLib</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>clibs</groupId>
<artifactId>xPlatExcLib</artifactId>
<version>1.0.0</version>
<classifier>maindll</classifier>
<type>dll</type>
</dependency>
<dependency>
<groupId>clibs</groupId>
<artifactId>xPlatExcLib</artifactId>
<version>1.0.0</version>
<classifier>log4cpp</classifier>
<type>dll</type>
</dependency>
<dependency>
<groupId>clibs</groupId>
<artifactId>xPlatExcLib</artifactId>
<version>1.0.0</version>
<classifier>LoggerLib</classifier>
<type>dll</type>
</dependency>
</dependencies>
</project>
Command and output:
mvn --batch-mode clean install
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.626 s
[INFO] Finished at: 2024-12-15T12:45:41-08:00
[INFO] ------------------------------------------------------------------------
cp target/rpcrmscomm-service-1.0.0-SNAPSHOT.war target/rpcrmscomm-service-1.0.0-SNAPSHOT.zip
Expand-Archive -Path target/rpcrmscomm-service-1.0.0-SNAPSHOT.zip -DestinationPath target/rpcrmscomm-service-1.0.0-SNAPSHOT -Force
ls target/rpcrmscomm-service-1.0.0-SNAPSHOT/WEB-INF/lib | %{$_.Name}
checker-qual-3.31.0.jar
commons-logging-1.1.jar
xmlrpc-client-1.0.0.jar
xmlrpc-server-1.0.0.jar
junit-3.8.1.jar
log4j-1.2.12.jar
log4j-api-2.17.1.jar
log4j-core-2.17.1.jar
netlibrary-1.0.0.jar
postgresql-42.6.0.jar
rmiclient-1.0.0.jar
rpc-1.0.0.jar
servlet-api-2.3.jar
ws-commons-util-1.0.2.jar
xml-apis-1.0.b2.jar
xmlrpc-client-3.1.2.jar
xmlrpc-common-3.1.2.jar
xmlrpc-server-3.1.2.jar
xPlatExcLib-1.0.0.jar
I need these DLLs as part of the bundle and (eventually) I need them automatically as part of the System library path