Gerenciando dependências DLL com Maven
-
05-07-2019 - |
Pergunta
Eu tenho um programa Java com Maven gerenciar suas dependências. Um desses dependência é um wrapper JNI para outro programa. Maven cuida da referência para o arquivo JAR pertinentes, mas eu sou deixado brincando com o arquivo DLL mim.
Existe uma boa maneira de ter Maven lidar com a DLL também? Idealmente, eu gostaria de ter o DLL carregado em nosso repositório local como o arquivo JAR.
Solução
Você tentou algo como isto:
<dependency>
<groupId>com.foo</groupId>
<artifactId>footron</artifactId>
<version>4.2</version>
<scope>runtime</scope>
<type>dll</type>
</dependency>
Você pode adicioná-los ao repositório do Maven com algo parecido com isto:
mvn install:install-file -Dfile=footron.dll -DgroupId=com.foo -DartifactId=footron -Dversion=4.2 -Dpackaging=dll -DgeneratePom=true
não tem feito isso por DLLs mas algo como isso deve funcionar.
Outras dicas
Eu encontrei outra solução, que é descrita na resposta a esta pergunta: com o maven com DLL de terceiros e gerir o nome do DLL
Basicamente, se você colocar a DLL em um arquivo ZIP, e gerenciá-lo como uma dependência separada, e usar o nativedependencies-maven-plugin
, em seguida, a DLL terá descompactado com o nome certo.