J'ai l'entrée POM suivante lorsque je construis mon projet, il télécharge les fichiers suivants: p> Si vous visitez le référentiel à http: //download.java.net/maven/2/net/java/dev/jna/jna/3.3//jna/jna/3.0/ Vous pouvez voir qu'il existe de nombreux autres fichiers. Pourquoi Maven ne télécharge pas ces autres fichiers? P> Si vous ouvrez la JNA-3.3.0.Pom, vous voyez P>
<plugins>
<!-- fake out maven and install the binary artifact -->
<plugin>
<groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
<artifactId>maven-antrun-extended-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<!--<ant dir="." target="dist" />-->
<attachArtifact file="dist/jna.jar" />
<attachArtifact file="dist/platform.jar" classifier="platform" type="jar" />
<attachArtifact file="dist/src-mvn.zip" classifier="sources" type="jar"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
3 Réponses :
Si vous ajoutez une deuxième dépendance à votre projet parallèlement à la dépendance existante de la JNA, avec un classificateur ajouté, vous devez obtenir l'artefact ajouté à votre construction.
<properties> <jna.version>3.3.0</jna.version> </properties> <dependencies> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> <classifier>platform</classifier> </dependency> </dependencies>
Pour les versions plus récentes, ce n'est plus vrai, le deuxième artefact est désormais appelé "plate-forme de la JNA", sans classificateur.
J'ai téléchargé les fichiers et placé dans un dossier LIB dans la racine du projet. Coutures pour travailler juste bien pour moi. Vous devez mettre à jour le manuel IT si elles publient une nouvelle version.
<properties> <jna.version>3.4.0</jna.version> </properties> <dependencies> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> <scope>system</scope> <systemPath>${project.basedir}/lib/jna.jar</systemPath> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> <scope>system</scope> <systemPath>${project.basedir}/lib/platform.jar</systemPath> <classifier>platform</classifier> </dependency> </dependencies>
Je n'ai pas vraiment compris le classificateur code> code> Utilisation dans @ Réponse de Steve_Barham .
J'ai cherché le projet de JNA à GitHub et a trouvé un fichier appelé donc je suis simplement utilisé ce qui suit pour télécharger JNA et JARS-Plateforme JNA: P> pom-jna-plateforme.xml code>
, qui comprend les détails d'artefact suivants: p> <properties>
<jna.version>4.0.0</jna.version>
</properties>
<dependencies>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
</dependencies>
+1 L'artifactide code> plate-forme code> a changé en JNA-Platform code> pour la version 4.0.0. Juste quelque chose pour que les gens soient au courant.