Question

    

Cette question a déjà une réponse ici:

    
            
  •              Comment importer un fichier jar dans Eclipse                                      7 réponses                          
  •     
    

J'utilise Eclipse (3.4) et ma classe compile sans avertissement ni erreur. Mon projet utilise un fichier JAR externe.

Où dois-je placer ce fichier JAR externe pour ne pas obtenir un java.lang.NoClassDefFoundError lors de l'utilisation de cette classe à partir d'un autre projet (pas dans Eclipse)?

Je pourrais simplement extraire le fichier jar dans le dossier du projet, mais cela ne semble pas bien.

Éditer: cette question ne concerne pas l'importation de fichiers JAR dans Eclipse, mais leur utilisation en dehors d'Eclipse.

Était-ce utile?

La solution

Si vous souhaitez inclure un fichier JAR à votre projet Eclipse, vous devez généralement créer un dossier "lib" dans le dossier du projet et y placer le fichier. Vous devez ensuite indiquer à eclipse de l'inclure dans votre chemin de classe afin que votre code soit compilé et exécuté dans eclipse.

Pour faire ça:
- Allez dans les propriétés de votre projet
- Sélectionnez "Java Build Path" dans la colonne de gauche
- Sélectionnez l'onglet "Bibliothèques" dans la partie centrale de la fenêtre
- Cliquez sur le bouton Ajouter des fichiers JAR - cela vous donnera une liste de vos projets en éclipse - développez votre projet et dans le dossier lib - votre fichier jar sera là.
- Sélectionnez le fichier JAR, cliquez sur OK, puis à nouveau sur OK dans la fenêtre des propriétés.

Votre code va maintenant être compilé et exécuté.

Autres conseils

placez-le dans votre dossier jre / lib / ext

tout ce qui a été dit sur le classpath est vrai, mais c’est un endroit cohérent et sensé où vivre.

vous pouvez trouver votre dossier jre en consultant la variable d’environnement JAVA_HOME sous Windows.

Peu importe où vous le mettez, mais vous devez configurer votre autre projet non-Eclipse pour qu'il mette les fichiers JAR externes dans son chemin de classe - ou utilisez le mécanisme du répertoire des extensions, si vous le souhaitez. (C'est plus facile, mais l'expliciter est sans doute mieux.)

La réponse de Simon semble être la meilleure mais un peu dépassée à présent. Avoir consulté Google doc Extensions installées .

  

À partir de Java 6, les fichiers JAR d'extension peuvent également être placés dans un emplacement indépendant de tout JRE particulier, de sorte que les extensions puissent être partagées par tous les JRE installés sur un système.

Cela signifie que pour Windows, vous devez placer vos extensions ici% SystemRoot% \ Sun \ Java \ lib \ ext.

Il vous suffit de le référencer à l’aide de l’option -classpath , dans un dossier qui n’est pas inclus dans un espace de travail eclipse, c’est-à-dire qui ne dépend pas du tout d’eclipse.

Attention, vous pouvez exécuter votre autre projet avec java -jar si vous référencez votre fichier jar externe avec l'option -cp ( voir cette question )

Je le place dans un nouveau dossier. Ce dossier doit être inclus dans le chemin de construction. Peu importe que ce soit dans Eclipse ou à l'extérieur. Eclipse a un chemin de construction spécifique au projet et le transmet au javac. Si vous souhaitez exécuter javac en dehors d’Eclipse, vous devez passer le chemin de génération manuellement.

Je sais que ce n’est pas exactement ce que vous demandez, mais avez-vous envisagé d’utiliser Maven? Certains plugins tels que l'assemblage pourraient être utiles dans des situations comme celles-ci.

Ayez un pot dans Eclipse, comme l'a écrit James Camfield.

Ensuite, lorsque vous créez (Ant, Maven, manuellement) pour la distribution, assurez-vous que le fichier jar est inclus avec ou dans votre fichier jar, war ou ear ou autre, et que tous les scripts de démarrage l'incluent dans le chemin d'accès aux classes à l'aide de - option de ligne de commande classpath pour Java, comme l'a écrit VonC.

Ne vous souciez plus de coller les fichiers jars dans le dossier des extensions java, tout ce que vous ferez, c'est de vous en faire oublier quand il s'agira d'envoyer votre code à un tiers à utiliser, car ils ne l'auront pas configuré à leur extrémité.

Créez un répertoire lib partagé et placez ce fichier JAR, ainsi que tous les autres fichiers JAR courants que vous pouvez y trouver. Si vous utilisez Maven, vous l’avez déjà sous forme de dépôt local.

Dans Eclipse, créez une variable de chemin de classe pour ce répertoire, puis utilisez-la pour référencer votre fichier jar dans vos projets. Si vous avez plusieurs projets qui répondent à ces conditions, cela facilitera beaucoup la vie. Cela facilite également la modification de l'emplacement du répertoire racine si vous passez d'un lecteur local à un réseau.

Dans l'application externe, vous allez également inclure ce fichier JAR à partir de son emplacement partagé sur le chemin des classes des applications.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top