Wie Importiere ich Gläser in mein java-Programm?
Habe ich heruntergeladen zwei Gläser. Ich möchte, importieren Sie einige der in Ihnen enthaltenen Klassen. Wie mache ich das?
Es ist für meine algorithmen Klasse. Ich habe versucht, nach den Anweisungen auf der folgenden Website, ohne Erfolg.
http://algs4.cs.princeton.edu/code/
Gibt es einen installer für OSX (ich bin mit Mountain Lion), die angeblich fügt die Gläser Ihren Klassenpfad ein. Leider ist es installiert auch Dr. Java. Ich würde lieber nur verwenden, Erhaben und Terminal. Ich nahm an, es wäre leicht genug, nur...
import java.stdlib;
in meinem Percolation.java Datei, aber javac-ing, die das Programm liefert eine "stdlib-Paket nicht vorhanden ist", wie
import stdlib;
Habe ich die Lage des stdlib.jar und algs4.jar zu meinem Terminal-CLASSPATH manuell über:
export CLASSPATH=$CLASSPATH:/Users/Michael/path/to/jar/algs4.jar:/Users/Michael/path/to/jar/algs4.jar
export CLASSPATH=$CLASSPATH:/Users/Michael/path/to/jar/stdlib.jar:/Users/Michael/path/to/jar/stdlib.jar
Habe ich auch versucht
javac -cp $CLASSPATH:/Users/Michael/path/to/jar/algs4.jar:/Users/Michael/path/to/jar/stdlib.jar Percolation.java
Aber ich bekomme immer noch eine
javac Percolation.java
Percolation.java:1: cannot find symbol
symbol : class stdlib
location: package java
import java.stdlib;
^
Percolation.java:2: package java.algs4 does not exist
import java.algs4.WeightedQuickUnionUF;
^
Was ist denn hier Los?
Außerdem ist es ein Weg, um dauerhaft hinzufügen, werden diese Werte in meinem CLASSPATH im OS X mountain lion. Ich habe zum ausführen dieses Befehl mit jeder neuen Terminal.
- Was
stdlib
? WasDr Java
? Ich nutze ein maven-import/download der Abhängigkeiten, die ich brauche, dem ich von einer IDE. Ich kenne kein installer, die fügt Gläser möchten Sie vielleicht Ihre Klasse Weg. - Lawrey Dr. Java ist eine IDE, stdlib ist eines der Gläser, die ich heruntergeladen und ich versuche Sie zu importieren in mein Programm. Ich habe versucht, diese manuell hinzufügen Krüge, um meine classpath-ohne Erfolg.
- Ich glaube, dass ist verboten, den Namen eines Pakets als
java.stdlib
. Bei der Laufzeit eine java.lang.SecurityException geworfen wird. Also der import ist wahrscheinlich falsch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit Terminal kompilieren und starten Sie Ihr Programm, dann in das Terminal-Fenster, beginnen mit der Einstellung der
CLASSPATH
:Dann geben Sie
echo $CLASSPATH
und sehen, dass die jars referenziert werden.Nun in der gleichen Terminal-Fenster, verwenden javac zu kompilieren Sie Ihre Klasse. Einstellung der
CLASSPATH
wie oben gilt nur für die aktuelle Terminal-Fenster und alle Prozesse, die gestartet, von es.Alternativ können Sie die
CLASSPATH
zu javac:Fortbestehen dieser
CLASSPATH
für die künftige Terminal-Sitzungen, fügen Sie dieexport
Zeile oben, um die Datei .Profil in Ihrem home-Verzeichnis.pwd
. dadurch wird das drucken, was Sie benötigen, um in IhremCLASSPATH
Es ist veraltet, diese Frage zu beantworten, aber vielleicht wird es nützlich sein für zukünftige Teilnehmer der Princeton Algorithmen natürlich.
Nach dem hinzufügen CLASSPATH im java-Umgebung erhalten Klassen aus Paketen, aber immer noch Fehler auf import-Befehl. Sie müssen löschen, importieren algs4 und stdlib aus der Quell-Dateien und die Kompilierung reibungslos ablaufen wird.
Diese Lösung funktioniert unter Ubuntu 12.04 mit zsh.
Wahrscheinlich musst du die classpath-Zeug. Die Klasse, die Sie versuchen zu importieren, kann nicht aufgerufen werden
java.stdlib
obwohl. Sie importieren müssen Sie den vollqualifizierten package-Namen ... wahrscheinlich so etwas wieorg.somecompany.ourlibrary.stdlib
. Damit würden Sie brauchen,oben Ihre
Percolations.java
Datei mit dem rest der import-Anweisungen.Ist Ihr Versickerung Programm, die in Ihrer eigenen Paket? Wenn ja, versuche es mit dem default-Paket durch auskommentieren jedes Paket mit Aussagen aus Ihren Dateien, und kompilieren Sie es.
Auch nichts in
algs4
ist in derjava
Paket, es ist alles es ist eigene Sache.Wenn Sie mit Eclipse (wie ich), wählen Sie das aktuelle Projekt, dann öffnen Sie die Projekt-Eigenschaften aus dem Menü. Auf der linken Seite wählen Sie "Java Build path" und dann wählen Sie die Registerkarte Bibliotheken. Klicken Sie nun auf die Schaltfläche "Add external Jars" und zeigen Sie Ihre jar-Dateien, und Sie sind fertig.
Glück.
Starten
javac
mit der-classpath <path_to_jar>
option. Oder Bearbeiten Sie die- CLASSPATH
- Umgebungsvariablen, so dass es enthält die JAR mit den Klassen, die Sie verwenden möchten.Ich vor dem gleichen problem, während der Arbeit auf diesem Kurs, sondern für windows. Ich lasse diese Kommentar hier im Fall wird es helfen, jemand.
Wenn Sie DrJava, die Sie brauchen keine
import
- Anweisungen im code. Wenn Sie nach der installation beschriebenen Schritte in Gang, alles ist für Sie konfiguriert.Aber hier kann ein problem sein - es stellt
jar
Dateien im aktuellen user-Verzeichnis, Pfad enthalten kann unangemessene Symbole(russische Buchstaben in meinem Fall). Sie überprüfen müssen, um in den Bearbeiten -> Einstellungen-Menü. Sie können sehen, dass esalgs4.jar
undstdlib.jar
Pfade. Stellen Sie sicher, dass dieser Weg richtig sind, und zeigen Sie auf real existierende Dateien.Ich zog Sie alle notwendigen Dateien in ein anderes dir und geänderte Pfade in diesem Menü. Er löste dieses problem für mich.
Ich verschwendet eine Menge Zeit mit dem Import der Klasse, versuchte die CL-option der "javac -cp .;stdlib.jar mad.java" etc, aber verwendet, um die gleichen Fehler, die Sie erwähnt.
Habe ich dann auskommentiert dem import zusammen und sorgte dafür, dass die DrJava Präferenzen hatte die 2 klassenpfade Hinzugefügt + den %CLASSPATH% - Variablen haben den richtigen Wert. Ist einfach, funktioniert jetzt.
Viel Glück!
geben Sie einfach den Namen des Pakets auf Standard, dann wird es funktionieren . auch danach brauchen Sie nicht zu importieren anyting nur ausführen von code in
Kapitel wie
.
Meine Lösung ist, fügen Sie 2 neue build-Systeme, um meine Sublime text-editor: ein zu kompilieren und zu den anderen zu führen. Verwenden Sie Tools->Build_system->New_build_system... aus dem Hauptmenü mit diesen beiden code-snippets:
für die Kompilierung (ich habe den Namen der Datei "ALG-kompilieren.sublime_build"):
für die Ausführung ("ALG-run.sublime_build")
Vergessen Sie nicht, ersetzen Sie die Pfade der jar-Dateien hier mit der richtigen, von Ihrem system.
Ich verstehe, dass diese Frage ist ziemlich alt, aber ich hoffe, dies hilft jemand.
Wenn Sie "kann nicht aufgelöst werden, um eine Art" Fehler, und haben versucht, indem die stdlib.jar oder algs4.jar Dateien, hier ist die Lösung:
Den Bibliotheken in stdlib.jar und algs4.jar sind in der "Standard" - Paket. In Java können Sie keinen Zugriff auf Klassen im default-package aus einer namens-Paket. Wenn Sie verwenden müssen die Bibliotheken mit einem namens-Paket, können Sie diese Paket-Versionen:
stdlib-package.jar und algs4-package.jar.
Können Sie diese Dateien herunterladen hier:
http://algs4.cs.princeton.edu/code/
Dann können Sie automatisch importieren:
import edu.princeton.cs.algs4.ClassName
Öffnen Sie Ihre Sublime
Wählen Sie Extras->Build-System->Neues Build-System
Fügen Sie folgenden code in die neue Datei
Dieser kann sagen, der erhabene, die zum ausführen der Befehle
Hoffe, dies kann helfen, diejenigen, die nach dem Algorithmus Natürlich von der Princeton University
Hatte ich das gleiche problem. Renfei Wang ' s Lösung funktioniert für mich (ich habe nicht genug Punkte noch kommentieren, direkt auf seine Antwort).
In einer Erhabenen, navigieren Sie zu
Preferences: Browse Packages>JavaC.sublime_build
.Hier ist, was mir aussieht:
/Users/jason/Documents/lib/*:/
können Erhabenen wissen, den Speicherort des Verzeichnisses, das hält meine Pakete, so dass jetzt, wenn ich Baue, lädt er die Pakete zuerst.