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?
 

foobar

Top Contributor
Kopier das Jar in den Lib-Ordner deines Projektes und importier es dann mit MyProject => Properties => Java Build Path => Libraries => Add Jars.
 
G

Guest

Gast
wird das auch dann funktionieren, wenn man das ganze projekt als jar datei exportiert?
 

foobar

Top Contributor
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.
 

Blurry

Mitglied
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
 

foobar

Top Contributor
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.
 

Blurry

Mitglied
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?
 

Wildcard

Top Contributor
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)
 

foobar

Top Contributor
Am besten baust du das jar mit ant, das ist am einfachsten und läuft auf jedem Rechner.
 
G

Guest

Gast
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
 
G

Guest

Gast
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.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
M Fremde Programme öffnen? Allgemeine Java-Themen 16
T javax.script (JavaScript): Nicht-JRE-Packages importieren/nutzen Allgemeine Java-Themen 4
B Verwendung von Packages im Java Code Allgemeine Java-Themen 10
G Gleiche Packages in verschiedenen JAR Dateien - Welches Package wird verwendet? Allgemeine Java-Themen 5
G Manifest mit Packages versehen Allgemeine Java-Themen 2
C Alle Klassen eines Packages lesen und instanzieren? Allgemeine Java-Themen 9
D Packages in ausführbaren Jars Allgemeine Java-Themen 4
Apo Zur Laufzeit Klassen mit Packages laden? Allgemeine Java-Themen 2
D Inhalt eines Packages im Code verarbeiten Allgemeine Java-Themen 18
@ Javadoc: Kurzbeschreibung Packages Allgemeine Java-Themen 10
F packages, public methods, assertions und argumentchecking. Allgemeine Java-Themen 3
L Fehlende Teile des javax Packages Allgemeine Java-Themen 3
J Packages in Java Allgemeine Java-Themen 2
M auf files des packages zugreifen Allgemeine Java-Themen 2
G Aufbau der Packages Allgemeine Java-Themen 3
B Installation neuer Packages Allgemeine Java-Themen 8
D defaultpackage-Klassen in anderen Packages aufrufen Allgemeine Java-Themen 2
L Zugriffsschutz: protected und packages Allgemeine Java-Themen 6
M Classen eines Packages ermitteln Allgemeine Java-Themen 12
R Klassendesign in Packages Allgemeine Java-Themen 7
M problem mit packages - falsche einstellungen? Allgemeine Java-Themen 2
T Packages Allgemeine Java-Themen 9
S Problem bei Umstellung von (default package) auf Packages Allgemeine Java-Themen 10
J jar Datei mit Packages Allgemeine Java-Themen 30
A geladene Packages ermitteln Allgemeine Java-Themen 2
M Java2exe Externe Packages einbinden! .JAR und sowas Allgemeine Java-Themen 7
G Classpath, Packages und Import Allgemeine Java-Themen 3
I Liste aller bekannten Packages Allgemeine Java-Themen 6
H Problem mit Packages Allgemeine Java-Themen 11
Bionic Packages einbinden ?! Allgemeine Java-Themen 4
S outlook ähnliche leiste und sonstige packages Allgemeine Java-Themen 2
A Packages Allgemeine Java-Themen 2
P Wieso benutzen PriorityQueues Heaps? Allgemeine Java-Themen 2
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
X Wie kann ich meine Stdlib in Intelliji benutzen? Allgemeine Java-Themen 3
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
dereki2000 Eigenen Zeichensatz benutzen Allgemeine Java-Themen 7
N Jsoup, Links weiter benutzen Allgemeine Java-Themen 5
I Java google Sandbox benutzen Allgemeine Java-Themen 1
Thallius PDF oder Word als Template benutzen Allgemeine Java-Themen 1
K CET-Zeit benutzen Allgemeine Java-Themen 6
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
T .dll in java benutzen aber wie? Allgemeine Java-Themen 4
K Thread richtig benutzen Allgemeine Java-Themen 3
K Event benutzen Allgemeine Java-Themen 4
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
B Commandline jar mit Java benutzen Allgemeine Java-Themen 11
E Wie mit JNA C++ dll benutzen? Allgemeine Java-Themen 3
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
B MCSCM.dll mit Java benutzen Allgemeine Java-Themen 3
E Wie Constructor mit Parametern benutzen (getConstructor) Allgemeine Java-Themen 2
F Bash Pipe benutzen Allgemeine Java-Themen 4
J Tokenizer benutzen? Allgemeine Java-Themen 2
V Public SVN benutzen? Allgemeine Java-Themen 11
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
Y Wann folgende Technologien benutzen Allgemeine Java-Themen 5
Y Reflection - wie kann ich eine Methode benutzen Allgemeine Java-Themen 4
Y Reflection - wie anwenden/benutzen bei folgendem Problem Allgemeine Java-Themen 3
E Mikrophon benutzen? Allgemeine Java-Themen 4
J MOtherboard Speaker benutzen? Allgemeine Java-Themen 19
G eclipse mit jdk 1.4 und 5 benutzen Allgemeine Java-Themen 10
P DLL Funktion benutzen Allgemeine Java-Themen 3
L Java ohne Installation benutzen? Allgemeine Java-Themen 2
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
S Array wie benutzen? Allgemeine Java-Themen 3
N XInput API (DLL für XBox 360 Controller) mit Java benutzen? Allgemeine Java-Themen 3
B Was sollte ich benutzen Vektor oder ArrayList? Allgemeine Java-Themen 5
L Eclipse VM/JRE für Ant Build benutzen Allgemeine Java-Themen 1
U Komponente aus grösserem Projet benutzen Allgemeine Java-Themen 4
P Java Subprozess, StdIn und StdOut benutzen Allgemeine Java-Themen 10
G BufferedImage benutzen Allgemeine Java-Themen 6
F JProgressBar benutzen Allgemeine Java-Themen 5
H Zustandsvariable als int global benutzen? Allgemeine Java-Themen 5
G mehrere JPanels als Fenster benutzen Allgemeine Java-Themen 3
F Aus Java heraus WinAPI Funktionen benutzen Allgemeine Java-Themen 7
L java.text.NumberFormat und java.text.DecimalFormat benutzen Allgemeine Java-Themen 2
S private Methoden benutzen Allgemeine Java-Themen 11
A Packet in einem Java-Programm benutzen Allgemeine Java-Themen 4
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2
M Was soll ich benutzen? Java2D, Java3D, Swing, AWT?? Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben