Fremde Packages benutzen?

Status
Nicht offen für weitere Antworten.

Blurry

Mitglied
Hallo,

ich möchte POI benutzen, um Excel-Dateien auszulesen. Ich habe mithilfe der Suchfunktion bereits diesen und diesen Thread gefunden, wirklich weitergeholfen haben die mir aber nicht. Ich benutze Eclipse 3.0 und versuche dort, über Window -> Preferences -> Java -> Build Path -> Classpath Variables die poi-2.5.1-final-20040804.jar einzubinden. Ich verweise direkt auf die Datei und nicht nur auf das Verzeichnis, in dem sie liegt. Wenn ich im Programm dann beispielsweise org.apache.poi.hssf.* einzubinden versuche, kommt "The import org.apache cannot be resolved". Ich habe bestimmt schon eineinhalb Stunden lang wild im Web rumgesurft, um irgendwie dahinterzukommen, wie man das genau anstellen muss, aber keine Lösung gefunden.

Was mache ich falsch?
 
Kopier das Jar in den Lib-Ordner deines Projektes und importier es dann mit MyProject => Properties => Java Build Path => Libraries => Add Jars.
 
wird das auch dann funktionieren, wenn man das ganze projekt als jar datei exportiert?
 
Die Jars müssen eben die Classes enthalten. Wenn du die Jars eines fremden Projekts verwenden willst, mußt du das erst importieren und dann kannst du über die Einstellungen sagen, daß du die jars diese Projekts verwenden willst.
 
foobar hat gesagt.:
Kopier das Jar in den Lib-Ordner deines Projektes und importier es dann mit MyProject => Properties => Java Build Path => Libraries => Add Jars.

Hi,

danke für die Hilfe (der "Gast" war ich übrigens nicht, aber seine Frage wäre von mir später wahrscheinlich auch noch gekommen). Aber noch mal langsam bitte... Ich bin mehr oder weniger Newbie, weswegen da ein paar Fragen offen geblieben sind. Also einmal für Blöde:

1) Was ist der "lib"-Ordner? Library, ja, aber den gibt es nicht - oder? Ich habe "bin" und "src". Soll ich "lib" selbst erstellen, oder ist einer von den beiden gemeint? Falls selbst erstellen: In Eclipse oder einfach im Explorer? Wenn ich Letzteres mache, taucht er in Eclipse nicht auf. Aber womöglich spielt das ja auch gar keine Rolle.

2) Ah! Nur: Wenn ich auf "Add Jars" klicke, zeigt er mir zur Auswahl bloß zwei frühere Projekte an. Offenbar wählt er die, weil in denen zufällig Zip-Dateien rumliegen. Egal in welchen Ordner des Test-Projekts ich die POI-Jar packe, die "Add JARs"-Funktion ignoriert sie/findet sie nicht. EDIT: Jetzt geht's. Es funktioniert mit "Add external JARs", nicht mit "Add JARs". Bleibt bloß die Frage offen, was da eigentlich der Unterschied ist. Dann noch was: Ich hab die jetzt einfach sonst wo weggeholt, nicht aus einem "lib"-Ordner oder so was. Das mit dem "lib"-Ordner ist bloß der Ordentlichkeit halber und für das letztliche Funktionieren des Programms egal, oder sehe ich das falsch?

Bitte nicht wegen dummer Fragen aufregen. 😉 Wahrscheinlich ist es ganz einfach, ich raff's bloß jetzt grad nicht...

MfG
Blurry
 
Was ist der "lib"-Ordner?
Den mußt du der ordnunghalber selber anlegen. Eclipse erkennt den Ordner aber erst nach einem Refresh. Also, wenn du ein File nicht über Eclipse anlegest immer schön nen Refresh machen *nerv* ;-)

Der Unterschied zwische Add Jars und add External Jars ist der, daß bei Add External Jars absolute Pfade verwendet werden, was zu Problemen führen kann, wenn du das Projekt aus dem CVS auf einem anderen Rechner auscheckst auf dem es diese Pfade nicht gibt. Daher immer Add jars verwenden, dann gibt es dieses Problem nicht.
 
Alles klar (erst mal). Bis auf eine Sache.


foobar hat gesagt.:
Der Unterschied zwische Add Jars und add External Jars ist der, daß bei Add External Jars absolute Pfade verwendet werden, was zu Problemen führen kann, wenn du das Projekt aus dem CVS auf einem anderen Rechner auscheckst auf dem es diese Pfade nicht gibt. Daher immer Add jars verwenden, dann gibt es dieses Problem nicht.

Verstehe. Nach einigen Malen Refreshen und Hin- und Herschieben findet er plötzlich auch die JARs im "lib"-Ordner, die er vorher ignoriert hat. Merkwürdig - aber gut. :>

Da wir schon mal dabei sind und um noch mal auf die Frage von "Gast" zurückzukommen: Wenn ich am Ende das gesamte Projekt lauffähig in eine JAR packen will, um das Programm auf jedem Rechner starten zu können, ohne dass ein Benutzer erst irgendwas zusätzlich installieren muss, wie stelle ich das an? Da muss doch sicherlich was beachtet werden. Ich hatte Dinge gelesen à la "JARs in JARs geht nicht" und von wegen "Man könnte höchstens die .class-Files einzeln rauskopieren und in die eigene JAR reinpacken". Wie ist das genau?
 
Blurry hat gesagt.:
Verstehe. Nach einigen Malen Refreshen und Hin- und Herschieben findet er plötzlich auch die JARs im "lib"-Ordner, die er vorher ignoriert hat. Merkwürdig - aber gut. :>
Du solltest niemals den Workspace von ausserhalb Eclipse anfassen. Nichts kopieren, nichts löschen, nichts ändern.

Jar in Jar geht so ohne weiteres nicht. Entweder du entpackst das jar, oder du die lieferst mehrere jars aus, oder du benutzt fatjar (eclipse-plugin)
 
Moin,




koennte mir jemand noch einmal kurz erklaeren wie ich fremde Packages bei Eclipse einbaue. Ich habe versucht obigem Text zu golgen, aber das laeuft irgendwie bei mir nicht. Es dreht sich auch um gleiches package...




Beste Gruesse,


Theo
 
Hallo,


habe ich das richtig verstanden, dass man die Problematik jar in jar damit umgehen kann, dass man einfach die Klassen aus dem jar in das 'neue' Projekt hineinkopiert?

Wie geht man dann weiter vor?

Nun muesste ich ja angeben, dass immer im Projekt liegende Klassen verwandt werden sollen?



Tut mir leid, falls die Fragen laecherlich sind, aber ich bin Neuling auf diesem Gebiet...


Danke.


Philip
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben