CLASSPATH auf dem Mac und wie funktioniert Mac suchen mysql-connector-java-bin.jar
Gibt es eine Standard-classpath auf Mac OS X 10.6? Wenn ich echo $CLASSPATH
nichts auftauchen würde. In meinem .profile
sehe ich nur PATH
variable gesetzt wird. Mein problem ist, dass Mein servlet kann nicht scheinen zu finden, eine geeignete Treiber, um eine Verbindung zum mysql-server. Ich benutze Eclipse
mit Glassfish v3
und MAMP
für MYSQL-server.
InformationsquelleAutor Thang Pham | 2010-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Methoden, um Gläser zu sehen, von Java auf Mac OS X:
Die CLASSPATH-Umgebungsvariable nicht gesetzt ist, standardmäßig, aber Sie können es, wenn Sie so wählen. Beachten Sie jedoch, dass alle Umgebungsvariablen, die Sie in
~/.profile
wird nur wirksam in Ihrem Terminal-session und wird keine Auswirkungen auf GUI-Anwendungen. Wenn Sie möchten, setzen von Umgebungsvariablen, so dass Sie Einfluss auf Ihre GUI-Anwendungen erstellen, können Sie eine Datei mit dem Namen~/.MacOSX/environment.plist
mit Ihren Umgebungsvariablen. Änderungen an dieser Datei werden wirksam, wenn Sie nächsten login.Als beobachtet wurde, Platzierung jar-Dateien in den extensions-Ordner oder ändern Sie die CLASSPATH-environment-Variablen sind im Allgemeinen schlechte Ideen, da Sie können dazu führen, dass die Abhängigkeit der Hölle. Eine bessere Möglichkeit ist die Bündelung von Ihre Gläser mit Ihrem Artefakt und die Metadaten entsprechend, so dass Sie auf Ihre Artefakt-classpath. Wenn Sie Apache Maven2 zu bauen, die Ihrem Artefakt, können Sie es automatisch als download-bundle irgendwelche thirdparty-Abhängigkeiten und setzen Sie den classpath entsprechend für das Artefakt.
Sie sollten NICHT brauchen, um einen CLASSPATH-es macht Ihre Maschine richtig spröde und voller .jar-Konflikte.
OK, wenn ich entwickeln auf Netbean, ich sehe meine war-Datei, jedoch nicht auf eclipse. Tut eclipse erstellen einer war-Datei für die Bereitstellung? Wenn ja wo muss ich die jar-Datei? innerhalb WEB-INF/lib?
Aslo beim setzen der classpath-ich glaube, Sie müssen also in der Benutzer-Umgebung.plist (/Benutzer/Benutzername/.MacOSX/environment.plist) zusätzlich zu oder anstelle von Ihr .bash_profile. Könnte worng, aber ich scheinen zu tun haben, dass mit dem svn-javahl und deren Abhängigkeiten.
einfach sagen zu Eclipse hinzufügen .jar-Datei in das WEB-INF/lib-Verzeichnis, die Sie nicht benötigen, um mit Maven baut man mit Eclipse
InformationsquelleAutor Michael Aaron Safyan
Tun nicht verwenden Sie die
CLASSPATH
Umgebungsvariable. Dies ist die Portabilität Probleme. Die ganze environment-variable ist ein Fehler, der die Sonne Jungs. Es ist nur nützlich für den Anfang, aber sicherlich nicht in der realen Welt. Dies würde nur verwirren den Startern mehr danach. Außerdem Anwendungsserver verwenden (und IDE) komplett ignoriert diese variable. Tun nicht setzen die Bibliotheken in der Bibliothek des JRE oder JDK. Dies ist die Portabilität Mühe als gut. Wenn Sie ein upgrade der JRE/JDK, oder führen Sie die Anwendung woanders, funktioniert es nicht mehr.In Webapplikationen, die Sie normalerweise nur drop webapp-spezifische 3rd-party-Bibliotheken in
Webapp/WEB-INF/lib
. Dieser Ordner wird von der webapp ist der Standard-classpath. Wenn diese Bibliotheken sind eher appserver-spezifische (z.B. JDBC-Treiber ist erforderlich, um erstellen Sie eine JNDI-Datenquelle, die verwaltet wird durch den appserver), dann müssen Sie legen Sie Sie inAppserver/lib
. Dieser Ordner wird von der Anwendungsserver ist der Standard-classpath. Im Falle von Glasfischen, die Sie brauchen, um Sie genauer in der Domäne-spezifische/lib
Ordner, z.B.glassfish/domains/<domainname>/lib
.InformationsquelleAutor BalusC
Ich kämpfte sehr mit dieser. Versuchen Sie, die appserv-rt.jar (befindet sich auf Glassfish lib-Verzeichnis) zum Erstellungspfad Ihres Projekts befindet. (Ich nicht wird ziehen alle Abhängigkeiten wenn Sie dies vermeiden möchten, erstellen Sie zuerst eine Bibliothek mit dem Glas und fügen Sie die Bibliothek zu dem build-Pfad.
InformationsquelleAutor BrainO2