Export als Jar mit ODBC-Treiber

JensMander

Bekanntes Mitglied
Hallo Forum,
ich habe mal wieder ein aus meiner Sicht nicht ganz so triviales Problem.

Ich habe eine Webanwendung geschrieben, dabei sieht die Ordnerstruktur bei Eclipse wie folgt aus:


Projekt
-src
--package1
---class1-1
---class1-2
--package2
---class2-1(main)
--package3
--class3-1(servlet)
-JRE System Libary
-Apache Tomcat 5.5
-Web App Libaries
-Reference Libaries
--ojdbc6.jar
-build
-Webcontent
--WEB-Info
---lib
----ojdbc6.jar
---web.xml
--index.jsp


nun ist es so, das wenn ich das ganze als war-exportiere und in meinem Tomcat einfüge alles super läuft. wenn ich nun aber über dos auf class2-1(die main) zugreife, dann funktioniert das nicht, weil er die ojdbc-class nicht findet. Aber warum findet er die nicht? Und vorallem wie kann ich das Problem beheben?
mfg
Jens

momentan compiliere ich erst die package2\class2-1 und führe sie dann aus mpackage2\class2-1.
Kann ich eventuell das ganze Projekt als jar-Datei exportieren, so dass die ojdbc-Class gefunden wird???
 
M

maki

Gast
Jar in Jar geht nicht.
Jar in War geht, jede Jar unter WEB-INF/lib wird automatisch zum Classpath hinzugefügt.
Wenn das als Jar laufen soll, muss der Classpath stimmen (entweder in der MANIFEST.MF oder als Kommandozeilenparameter).
 

JensMander

Bekanntes Mitglied
Hi, vielen Dank für deine rasche Antwort, doch magst du mir diese eventuell erklären. Wie du siehst habe ich drei packages, die in package2 enthaltene class2-1 hätte ich nun gerne als jar-file und würde diese gerne mit im war-file haben wollen.

Doch was muss ich nun machen, bzw. wie stelle ich das an?
Unter web-inf/lib liegt ja bereits die ojdbc6.jar.
 
M

maki

Gast
Wie gesagt, wenn du das war als Jar file starten willst, musst du den Classpath setzen, entweder per Kommandozeilenparameter, oder per MANIFEST.MF.

Infos dazu gibt es hier eigentlich genug im Forum, jeden Tag kommt ein Anfänger daher der sich übernommen hat ohne sich über die Grundlagen wie den Classpath schlau zu machen.

Da du wohl keine MANIFEST.MF hast sondern alles über die Kommandozeile startest, solltest du den Classpath auch über die Kommandozeile setzen.

Setting the class path

*verschoben*
 
Zuletzt bearbeitet von einem Moderator:

FArt

Top Contributor
maki hat ja schon auf die konkrete Frage geantwortet, ich merke noch was zu dem Vorhaben an sich an:

Mit einem ODBC Treiber würde das alles sowieso keinen Sinn machen, weil es nicht ausreichen würde die Applikation auszuliefern. Du müsstest noch die ODBC Datenquelle registrieren.
Da das der JDBC Treiber von Oracle ist, würde das also ausreichen. Dennoch würde ich im Tomcat bzw. in einer Webapplikation mit dem DB-Treiber hantieren. Tomcat kann mit Datasources umgehen. Das wäre der bevorzugte Weg für eine DB Anbindung in einer Webapplikation.
 

JensMander

Bekanntes Mitglied
vielen Dank für die Antworten, ich habe nur das Gefühl das wir (durch meine schlechte Erklärung) aneinander vorbei reden. Wenn ich das Projekt so wie es jetzt ist als *.war exportiere und in meinem Tomcat übernehme funktioniert es einwandfrei. Nur möchte ich gerne zusätzlich das Package2\class2-1 als direkte ausführbare Datei(*.jar) verfügbar gemacht wird. Das Funktioniert eigentlich auch recht gut, nur das ich dann die Fehlermeldung bekomme das die odbc-Clas nicht gefunden wird und diese befindet sich ja in der odbc6.jar.

mfg
jens
 

JensMander

Bekanntes Mitglied
Okay, vielen lieben Dank für eure Antworten, das hat mich alles schonmal auf den richtigen Weg gebracht. Ich werde jetzt erstmal einiges testen und mich dann bei Fragen eventuell nochmal an euch richten.
 

mvitz

Top Contributor
Wenn du gerade einen Webclient und einen Desktopclient schreibst, wäre es evtl. sinnvoller deinen Code in 3 Projekten zu verwalten: Common, Desktop, Web wobei Desktop und Web dann beide eine Abhängigkeit zu Common haben. Das ist idr einfacher als zu versuchen einen Webprojekt als "Desktop-JAR" zu packen.
 

FArt

Top Contributor
Natürlich reden wir aneinander vorbei. Das kann daher kommen, dass dein Verständnis für eine Webapplikation zu gering ist.

Was wollte ich dir sagen? Es gibt vieles, was in einer gemanagten Umgebung (Webserver, Applicationserver, ...) "funktioniert" und trotzdem falsch ist, weil es z.B. der Spezifikation nicht entspricht. In so einer Umgebung sollte man nicht selber mit Datenbanktreibern und Connections arbeiten, sondern mit Datasources.

Diese Fehlermeldunge bedeutet nicht unbedingt, dass eine Klasse nicht "gefunden" werden kann, lediglich nicht geladen werden kann. Manchmal ist das nur ein Folgefehler, z.B. wenn diese Klasse native Initialisierungen durchführen muss und das nicht kann.

Und wenn es tatsächlich eine ODBC Verbindung ist... die muss erst eingerichtet werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Doppeltes Gleichheitszeichen bei Export Java Java Basics - Anfänger-Themen 5
C Erste Schritte Bilder nach Export anzeigen Java Basics - Anfänger-Themen 0
krgewb Runnable JAR File Export Java Basics - Anfänger-Themen 11
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
S Export aus JList Java Basics - Anfänger-Themen 6
F .csv Export aus einer list Java Basics - Anfänger-Themen 25
I DATEV import / export Java Basics - Anfänger-Themen 2
I .jar startet nicht nach Export Java Basics - Anfänger-Themen 27
K Export nach Jar mit Bilder Java Basics - Anfänger-Themen 2
P Classpath jdbc-Treiber kann nach export in jar-File nicht mehr geladen werden Java Basics - Anfänger-Themen 2
C Jar Datei startet nicht nach Export mit Eclipse Juno Java Basics - Anfänger-Themen 2
Gossi Eclipse stellt sich beim Export quer... Java Basics - Anfänger-Themen 4
Kenan89 Export klappt nicht Java Basics - Anfänger-Themen 2
G Erste Schritte Einbindung von Grafiken beim Eclipse Export in Jar File Java Basics - Anfänger-Themen 9
M nach jar export keine db abfrage möglich Java Basics - Anfänger-Themen 2
J Compiler-Fehler Eclipse .jar Export klappt nicht. Java Basics - Anfänger-Themen 17
K Fenster öffnen nicht nach Export in jar File Java Basics - Anfänger-Themen 10
B CSV - Export Java Basics - Anfänger-Themen 2
darekkay Ordnerstruktur beim Jar-Export Java Basics - Anfänger-Themen 5
C Eclipse JAR Export could not find main class Java Basics - Anfänger-Themen 13
O Export mit Eclipse in jar funktioniert nicht ! Java Basics - Anfänger-Themen 2
C Eclipse makefile export Java Basics - Anfänger-Themen 13
Fu3L Programm findet nach .jar-Export Dateien nicht Java Basics - Anfänger-Themen 3
M Grafik export in ein Jar File Java Basics - Anfänger-Themen 5
L Export JAR mit External JAR Java Basics - Anfänger-Themen 3
B Export in JAR Java Basics - Anfänger-Themen 4
K Jar Export resourcen einbindung -> Fat Jar Java Basics - Anfänger-Themen 8
P Fehler bei jar Export aus Eclipse Java Basics - Anfänger-Themen 3
K Export Eclipse-Project unter MAC OS X Java Basics - Anfänger-Themen 2
G Eclipse, FatJar, Export, Classpath Java Basics - Anfänger-Themen 13
G Programm-Export (mit DLLs?) Java Basics - Anfänger-Themen 4
S Export nach Excel in Java Java Basics - Anfänger-Themen 7
C No suitable driver found for jdbc:odbc:mysql Java Basics - Anfänger-Themen 8
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
K Erste Schritte Datenbankverbindung: Der Treiber lädt nicht Java Basics - Anfänger-Themen 10
lenniii DB Basics (JDBC-Treiber) Java Basics - Anfänger-Themen 16
L db2jcc-Treiber installieren Java Basics - Anfänger-Themen 4
T Datenbank: Treiber nicht gefunden Java Basics - Anfänger-Themen 17
B JDBC Treiber lokal installieren ? Java Basics - Anfänger-Themen 2
M JDBC Treiber LGPL Java Basics - Anfänger-Themen 11
D JDBC Treiber unter dem Java Application Server Java Basics - Anfänger-Themen 6
B Java Treiber Java Basics - Anfänger-Themen 5
F Problem mit Treiber Java Basics - Anfänger-Themen 13
G Treiber ausgeben Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben