Was ist der beste Ort, um Ihre JARs und andere Bibliotheken unter Mac OS X zu speichern?

8

Meine Frage ist einfach: Was ist der beste Ort, um alle meine Jar, gwt und andere Frameworks auf Mac OS X zu speichern?

Ich dachte, dass es /Library/Java/Extensions ist. Aber ich bin mir nicht sicher, ob es richtig ist.

    
Igor Konoplyanko 17.03.2011, 19:34
quelle

8 Antworten

6

Es gibt zwei Möglichkeiten, Java-Zeug zu installieren:

  • Verwenden Sie einen Paketmanager wie Homebrew oder MacPorts ,
  • Oder mach die Dinge auf deine eigene Art.

Als Beispiel, hier ist, wie MacPorts Tomcat installiert:

%Vor%

Sie möchten das nicht manuell nachahmen, weil es wahnsinnig viel Arbeit kostet und keinen Nutzen bringt. Entweder sudo port install tomcat6 oder dekomprimiere den gesamten Tomcat in /Users/YOURUSER/java/apache/tomcat/6/ und füge bin dem Pfad hinzu. Das Gleiche gilt für SDKs.

Wenn Sie nur Jars (nicht SDKs) installieren möchten, verwenden Sie Maven so oft wie möglich. Sie haben etwas über Probleme beim Hinzufügen zu Ihrem lokalen Repository gesagt. Das ist nicht korrekt, Sie können mehrere Repositories haben und diese pro Projekt aktivieren / deaktivieren. Ich habe eine für die Sachen Maven Downloads, und eine andere, wo ich manuell Dinge hinzufügen. Wenn Sie der einzige Benutzer Ihrer Maschine sind, legen Sie das Repo irgendwo in Ihr Haus, ansonsten verwenden Sie /opt/local/var/ oder wo immer Sie wollen.

Überdenke es nicht, es geht darum, dass du Arbeit schaffst.

    
Jano 12.04.2011, 11:00
quelle
4

Ihr .m2-Repository? Verwenden Sie nicht Maven für die Auflösung Ihrer Abhängigkeiten?

    
jiggy 17.03.2011 19:44
quelle
2

Es ist eine sehr schlechte Idee, Bibliotheken in Systemordnern zu installieren, da sie alle auf Ihrem Computer laufenden Java-Programme beeinflussen und Konflikte mit anderen Bibliotheken verursachen können, die von den einzelnen Programmen ordnungsgemäß mitgeführt werden.

Ein viel besserer Ansatz besteht darin, ausführbare / ausführbare Dateien zu erstellen, in denen das Attribut "Class-Path" auf die benötigten Dateien verweist.

    
quelle
1

Normalerweise sollten Sie Bibliotheken in den Projekten speichern, die sie verwenden, und nicht auf Systemebene. Mit einer Technologie wie Maven wäre dies eine hervorragende Möglichkeit.

UPDATE: Jetzt, da ich weiß, dass du Maven benutzt, ändert sich der Vorschlag ein wenig. Ich verstehe, dass Sie Bibliotheken nicht einfach manuell in Ihr lokales Repository installieren möchten, was sinnvoll ist. Meine Antwort wäre, dass dies viel sauberer ist, als sie in einem globalen Bibliotheksordner abzulegen. (Und Sie vermeiden es, alle Anti-LD_LIBRARY_PATH-Leute in die Arme zu bekommen :)).

Ein anderer Gedanke wäre, Ihr eigenes Maven-Repository einzurichten und Ihre Bibliotheken dort zu behalten.

Es kommt wirklich darauf an, was Sie versuchen zu tun. Willst du nur etwas Code schreiben, der deine Box nie verlassen wird oder willst du eine nette portable Lösung oder was? Wir brauchen definitiv ein bisschen Kontext.

    
Jon7 17.03.2011 19:50
quelle
1

Installieren Sie keine Dateien in /Library , es sei denn, Sie wissen wirklich, was Sie tun (z. B. müssen Sie möglicherweise einige Verschlüsselungsrichtliniendateien installieren). Sie werden viel besser dran sein, wenn Sie Ihre Gläser an einem anderen Ort aufbewahren.

Da Sie Maven verwenden, könnten Sie ein anderes lokales Repository angeben, indem Sie eine ~ / .m2 / settings.xml-Datei erstellen:

%Vor%

Verwenden Sie dann Maven, um die Jars in Ihrem lokalen Repo zu installieren und los gehts.

Persönlich halte ich meine Bibliotheken unter einem Ordner wie ~/dev/java/lib , um sie organisiert zu halten, und dann installiere ich sie auch mit Maven in mein lokales Repo.

    
asinesio 14.04.2011 04:55
quelle
1

Wenn Sie Maven und Tomcat nicht benötigen, sollten Sie sie in einen beliebigen Ordner einfügen, der in Ihrer Umgebungsvariablen $JAVA_HOME enthalten ist. Ich würde empfehlen, dass Sie ein Verzeichnis erstellen, sagen Sie

%Vor%

und stellen Sie

ein %Vor%

Info zu Umgebungsvariablen in OS X . Befolgen Sie dies für die nackten Anweisungen, aber behalten die JAVA_HOME-Zeile, die in dem Beitrag ist. Fügen Sie die Zeile hinzu, die ich Ihnen irgendwo unter der anderen Definition gegeben habe. Etwas wie das:

%Vor%

Beachten Sie auch, dass Sie, wenn Sie eine Systemdatei wie /etc/launchd.conf verwenden, nicht $HOME verwenden sollten, da sie möglicherweise noch nicht festgelegt wurde. Verwenden Sie stattdessen einen vollständigen Pfad zu Ihrem Ordner oder verwenden Sie eine Datei, die ausgeführt wird, wenn sich Ihr Benutzer stattdessen anmeldet.

Ich stimme zu 100% mit Leuten überein, die Ihnen gesagt haben, dass Sie Ihre eigenen Dateien nicht in Systemordnern speichern sollen.

    
James Broadhead 18.04.2011 11:03
quelle
0

Sie müssen Tomcat für Ihre lokale Entwicklung haben. Sie könnten Nexus darauf installieren und dann Ihr eigenes Repository haben, das Sie auch leicht wieder an einen späteren Zeitpunkt verschieben könnten (und es Ihnen die Möglichkeit gibt, Artefakte über eine Webschnittstelle hinzuzufügen, anstatt über die Befehlszeile mit dem Maven 2 Schritt von pom und * ar).

    
Rob 16.04.2011 04:42
quelle
0

Wenn Sie eine Anwendung über die Befehlszeile (Terminal) ausführen und die App ein jar enthält, das über ein Shellskript (.sh) aufgerufen wird, wäre eine chaotische Option (die ich leider manchmal nutze), die jars zu kopieren Sie /System/Library/Java/Extensions Pfad.

Ich glaube, Ihr Problem war das fehlende /System/ auf Ihrem Pfad.

    
Felipe Leão 06.05.2013 19:01
quelle

Tags und Links