1
votes

Utiliser un fichier .jar stocké localement comme dépendance dans un projet Maven: compiler les fichiers de classe

Je suis un novice de Maven et j'ai des difficultés à utiliser un fichier jar stocké localement comme module dans mon projet IntelliJ - un projet que j'ai tiré d'un didacticiel en ligne.

Je l'ai mis dans mon dossier .m2 en utilisant:

<dependency>
      <groupId>com.myshop.automatedtests</groupId>
      <artifactId>myshop-automatedtestscore</artifactId>
      <version>3.1.17-SNAPSHOT</version>
</dependency>

.jar se trouve à:

C:\Users\daveb\.m2\repository\com\myshop\automatedtests\myshop-automatedtestscore\3.1.7-SNAPSHOT\3.1.17-SNAPSHOT.jar

Et j'ai ajouté la dépendance dans le pom.xml principal comme suit:

mvn install:install-file "-Dfile=C:/../resources/myshop-automatedtestscore 3.1.17-SNAPSHOT.jar" "-DpomFile=C:/../resources/myshop-automatedtestscore-3.1.17-SNAPSHOT.pom --Dsources=C:/../myshop-automatedtestscore-3.1.17-SNAPSHOT-sources.jar"

Quand je vais dans la structure du projet -> Bibliothèques, je peux voir que le fichier jar de dépendance Sources est là en gris, ça devrait aller. Cependant, le projet principal semble ne pas pouvoir accéder aux versions de classe du fichier. Dans le dossier Target, ils restent .class mais dans les bibliothèques externes, ils sont .java

entrez la description de l'image ici

Toutes nos excuses s'il s'agit d'une solution novice ou évidente . J'essaye de résoudre.


2 commentaires

Pouvez-vous fournir le nom exact et l'emplacement (dans .m2) de votre fichier jar ?


Sûr: C: \ Users \ daveb \ .m2 \ repository \ com \ amyshop \ automatictests \ mys‌ hop-automatictestsco‌ re \ 3.1.17-SNAPSHOT.j‌ ar


3 Réponses :


1
votes

Vous devez installer jar en utilisant la commande ci-dessous -

mvn install: install-file -Dfile = -DgroupId = -DartifactId = -Dversion = -Dpackaging =

Vous devez donner des artefacts et autres paramètres afin que vous puissiez utiliser dans le fichier pom en utilisant le code ci-dessous -

<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Après cela, vous devez respecter votre projet afin que cette dépendance soit ajoutée à votre projet.

mvn eclipse: eclipse mvn installation propre


1 commentaires

Merci; J'ai déjà fait ça. Désolé, ma question n'était pas claire. Effectuer une installation propre mvn ne fonctionne pas. J'utilise IntelliJ



1
votes

Vous pouvez appuyer ici pour forcer l'actualisation des plugins dans Intelij.

Actualiser

Ici, vous pouvez vérifier quel référentiel vous avez et également quel maven vous avez. Maven settings Cliquez sur les préférences

Une autre option que vous avez est d'effectuer ceci:

mvn clean install -U


0 commentaires

0
votes

Si votre dépendance est

<groupId>com.me.example</groupId>
<artifactId>my-example</artifactId>
<version>1.1.0</version>

Alors votre fichier jar serait my-example-1.1.0.jar et il se trouvera sous \. m2 \ repository \ com \ me \ example \ mon-exemple \ 1.1.0 \ mon-exemple-1.1.0.jar .

Dans votre cas, votre jar code> est myshop-automatictestscore-3.1.17-SNAPSHOT.jar et il devrait être sous

C: \ Users \ daveb.m2 \ repository \ com \ myshop \ automatictests \ myshop-automatictestscore \ 3.1.17-SNAPSHOT \ myshop-automatictestscore-3.1.17-SNAPSHOT.jar .

Après cela, faites un Maven> Réimporter code> d'IntelliJ.


5 commentaires

Merci. Désolé, je ne m'aide pas ici. Le chemin est en fait comme vous l'avez indiqué et j'ai mis à jour la question initiale; excuses. J'ai fait un Maven Reimport mais pas de joie. Dois-je désarchiver manuellement le fichier jar (comme je l'ai fait à l'origine)? Je ne pense pas et je devrais probablement recommencer à zéro


3.1.17-SNAPSHOT.jar est-il le nom de votre fichier jar ? Si tel est le cas, la dépendance que vous avez ajoutée n'est pas correcte.


Je pense que le problème était que je n'apportais pas les sources. J'ai maintenant fait cela et mis à jour la question, mais le problème semble persister. Je pense que j'ai juste besoin d'exécuter le bon objectif Maven pour générer les sources ou les consommer dans le module principal


Essayez ceci: Renommez votre fichier jar en ceci: myshop-automatictestscore-3.1.17-SNAPSHOT.jar et conservez ce dossier extérieur .m2. Ouvrez cmd à cet emplacement. Exécutez cette commande: mvn install: install-file -Dfile = myshop-automatictestscore-3.1.17-SNAPSHOT.jar -DgroupId = com.myshop.automatedtests -DartifactId = myshop-automatictestscore -Dversion = 3.1.17-SNAPSHOT - Dpackaging = jar . Maintenant, le jar doit être installé à l'emplacement que j'ai mentionné dans ma réponse. Mettez la dépendance que vous avez fournie dans votre réponse dans pom.xml et réimportez. Modifier: avant d'essayer cela, supprimez l'arborescence des dossiers à partir de myshop


Salut Andy, j'ai le jar en tant que dépendance dans mon .m2 et je peux le voir dans des bibliothèques externes dans IntelliJ. Mais je ne comprends pas pourquoi je ne peux pas compiler ces fichiers .java et les utiliser dans mon projet