2017-10-06 1 views
0

Donc, je ne suis pas familier avec l'ajout de nouvelles bibliothèques à Java. J'ai téléchargé une bibliothèque de GitHub et j'ai obtenu un fichier zip.Comment ajouter une bibliothèque à Java? Je n'utilise aucun IDE, je n'utilise que l'invite de commande

J'ai extrait le contenu mais je suis perdu. Je ne sais pas où et comment je devrais ajouter cette bibliothèque.

Je n'utilise aucun IDE. J'utilise l'invite de commande sur Windows 8. J'utilise le bloc-notes pour taper mon code

J'ai fait mes recherches pour les 2 dernières heures mais tous sont pour certains IDE et ceux que j'ai trouvés autres que ceux qui n'ont pas aidé.

Je lis à propos de -classpath mais je vais devoir définir le chemin chaque fois que j'ai une nouvelle bibliothèque ?? (Je suis toujours confus)

Dites-moi s'il vous plaît comment ajouter cette bibliothèque. Je vous remercie!

+0

Simple: utilisez un IDE. –

+1

Jetez un coup d'oeil ici: https://stackoverflow.com/questions/9395207/how-to-include-jar-files-with-java-file-and-compile-in-command-prompt Et bien sûr commencer à utiliser un IDE (Eclipse, Intelij etc) cela augmentera votre productivité et vous facilitera la vie;) – JKostikiadis

+0

@EdwinDalorzo Oui j'ai installé maven. J'ai eu 3 fichiers jar et un tas d'autres fichiers avec quand j'ai couru "paquet maven propre" Donc, si je copie ces fichiers jar dans le dossier lib j'ai terminé? –

Répondre

0

Je lis à propos de -classpath mais je vais devoir définir le chemin chaque fois que j'ai une nouvelle bibliothèque ?? (Je suis encore confus)

No.
Vous devez le faire à chaque fois que vous exécutez votre programme!

Donc soit vous créez un script pour exécuter votre programme, ou le mettre à travers le fichier MANIFEST.MF de principal de votre programme JAR ...

Voir:

+0

J'ai 3 fichiers jar et un tas d'autres fichiers avec quand j'ai couru "paquet maven propre" Donc, si je copie ces fichiers jar dans le dossier lib j'ai terminé? –

+0

Qu'est-ce que le "dossier lib"? –

+0

Le dossier de la bibliothèque est dans le Jdk. –

0

Définir une variable d'environnement CLASSPATH dans System Properties ->Advanced ->Environment Variables

Par exemple, si vous avez des fichiers jar multiples, de les copier dans un répertoire dans C:\LIBS\ et définir la valeur classpath C:\LIBS\*;.

Si vous voulez des fichiers jar spécifiques, définissez-les uniquement comme, C:\LIBS\jar1.jar;C:\LIBS\jar2.jar;.

Ouvrir une nouvelle invite de commande et il devrait fonctionner et est permanent

NOTE: Cela a un impact toutes les instances d'invites de commande ont ouvert plus

+0

Merci! Je vais essayer. –

+0

"Cela a un impact sur toutes les instances de commandes ouvertes plus loin" C'est ce qui me préoccupait. Si je fais cela, la façon dont je cours et compile tous les programmes change-t-elle? –

+0

Ce CLASSPATH sera utilisé par tous les programmes ie impacté par les commandes javac et java lorsqu'il est utilisé dans la ligne de commande –

1

Supposons que j'ai deux bibliothèques Java emballés sous forme de fichiers jar: foo.jar et bar.jar

le foo.jar contient la classe Foo.class et la bar.jar contient la classe Bar.class.

Maintenant, j'écris un morceau de code dans lequel j'utilise à la fois Foo et Bar.

package my.work; 

public class TestDrive { 
    public static void main(String[] args) { 
     Foo foo = new Foo(); 
     Bar bar = new Bar(); 
     System.out.println("Hello, " + foo + " and " + bar); 
    } 
} 

Pour compiler TestDrive.java je dois savoir où se trouvent les deux dépendances. Très probablement, je les ai mis dans mes libs dossier

+-project 
| +---src 
| | +--TestDrive.java 
| +---libs 
| | +--foo.jar 
| | +--bar.jar 
| +---build 
| | + my 
| | | +-- work 
| | | | +--TestDrive.class //once I compile it with javac 

alors je besoin de faire quelque chose comme

javac -classpath libs/foo.jar:libs/bar.jar -d build -sourcepath src src/TestDrive.java 

Donc, pour répondre à votre question, oui, vous devez mettre toutes vos bibliothèques dans le classpath .

Il y a, bien sûr, d'autres façons de le faire.

+0

Merci! Vous m'avez donné une image claire du problème. Je suppose que je vais devoir prendre le long chemin si je m'en tiens à l'invite de commande. –

+0

Ceci est la manière standard d'exécuter des applications Java. Même IDE fait la même chose par derrière. Si vous ne voulez pas taper trop longtemps pour votre compilation et votre exécution, essayez d'utiliser des fichiers bat. – Alex

+0

@Edwin Dalorzo Je suis coincé bourgeon. J'ai compilé mon one liner mais je suis incapable de lancer le programme avec -cp. Il me donne une erreur en disant qu'il ne peut pas trouver ou charger le fichier de classe. –