Gestione delle dipendenze DLL con Maven
-
05-07-2019 - |
Domanda
Ho un programma Java con Maven che gestisce le sue dipendenze. Una di queste dipendenze è un wrapper JNI per un altro programma. Maven si occupa del riferimento al file JAR pertinente, ma io stesso mi lascio andare in giro con il file DLL.
C'è un buon modo per far gestire anche la DLL a Maven? Idealmente, vorrei che la DLL fosse caricata nel nostro repository locale come il file JAR.
Soluzione
Hai provato qualcosa del genere:
<dependency>
<groupId>com.foo</groupId>
<artifactId>footron</artifactId>
<version>4.2</version>
<scope>runtime</scope>
<type>dll</type>
</dependency>
Puoi aggiungerli al repository di Maven con qualcosa del genere:
mvn install:install-file -Dfile=footron.dll -DgroupId=com.foo -DartifactId=footron -Dversion=4.2 -Dpackaging=dll -DgeneratePom=true
Non l'ho fatto per le DLL ma qualcosa del genere dovrebbe funzionare.
Altri suggerimenti
Ho trovato un'altra soluzione, che è descritta nella risposta a questa domanda: Utilizzo di maven con DLL di terze parti e gestione del nome della DLL
In sostanza, se si inserisce la DLL in un file ZIP e la si gestisce come dipendenza separata e si utilizza nativedependencies-maven-plugin
, la DLL verrà decompressa con il nome giusto.