Ich habe eine Anwendung, die auf einer AIX-Maschine als ausführbare JAR bereitgestellt wird. Ich benutzte Maven Schatten, um ein Uber JAR zu bauen, in dem alle meine Abhängigkeiten in der JAR gepackt sind. Spring, Logback und javax.mail. Die Anwendung wird von einem anderen Programm aufgerufen, das ein Shell-Skript ausführt. Das alles funktioniert gut. Der DBA hat angefordert, dass ich alle Abhängigkeiten von der JAR entferne, sie in Verzeichnisse auf der AIX-Maschine platziere und diese Speicherorte in den CLASSPATH des AIX-Benutzers einbeziehe. Er gab an, dass dies die beste Vorgehensweise sei. Ich habe das <scope>provided</scope>
-Tag zuvor in Maven verwendet, um Abhängigkeiten nicht zu packen, die der Container bereitstellen würde, aber ich bin nie auf diese Art von Anfrage mit einer JAR gestoßen. Ist dies eine Best Practice in diesem Szenario?Best Practice für JAR Dependency Deployment
0
A
Antwort
0
Im Uber-JAR sind die Abhängigkeiten nicht sichtbar. Aber es gibt viele Leute da draußen, die alle Abhängigkeiten kennen und auflisten müssen, weil sie eine Liste aller Lizenzen (zum Beispiel gnu, asf ...) veröffentlichen müssen, die in der Anwendung verwendet werden.
Also, wenn Sie eine klare Auflistung aller Abhängigkeiten benötigen, dann ist die Uber-JAR nicht die beste Vorgehensweise, die Sie gehen sollten.
Verwandte Themen
- 1. Dependency Injection und Caching Klassen Best Practice
- 2. Best Practice für Bilder
- 3. Best Practice für NSNotifications
- 4. Best Practice für Winkelrichtlinien
- 5. Best Practice für Webservices
- 6. Deployment der IOC-Dependency Deployment (bin? GAC?)
- 7. Maven Dependency jar für BuildPluginManager
- 8. Best Practice Entschlossenheit in Jboss EAP
- 9. Best Practice für Dienstprogramme Klasse?
- 10. Best Practice für Datenbank Kreuzwertspeicher
- 11. Best Practice für PHP-Pfade
- 12. PayPal - Best Practice für Kontoauszug
- 13. Best Practice für PHP-Ausgabe
- 14. Best Practice für SQL-Tests
- 15. Best Practice für Java IPC
- 16. Userfrosting Best Practice für Hilfsfunktionen
- 17. Best Practice für die Datenmigration
- 18. Best-Practice-Setup für Parametersätze
- 19. Best Practice für mobile Anwendungen
- 20. Cordova/Gulp Best Practice
- 21. Best Practice für die Überprüfung von Einheitentestmethodenparametern
- 22. Referenzieren JAXB Gläser - Best Practice
- 23. Best Practice für Aufrufe für Ressourcen
- 24. Dockerfile Versionierung Best Practice
- 25. Best Practice Phonegap Architektur
- 26. C# Subclass Best Practice
- 27. Spring Webflow Best Practice
- 28. UISegmentedControl Best Practice
- 29. PHP-Kontaktformular Best Practice
- 30. Best Practice-Benutzerführung?
Wiederverwendung? Das ist die einzige solide Antwort, die ich bis jetzt bekommen habe. – Hodglem
Warum sollte es einen separaten lib-Ordner geben, der alle jars enthält, anstatt sie in einem einzigen jar zu packen, das einfach mit 'java -jar ...' gestartet werden kann? Einen Classpath-Benutzer agnostisch zu machen, klingt merkwürdig? Dies kann durch das appassemblber maven plugin ... erreicht werden, das die Shell-Skripte erzeugen kann, um die Klassenpfadgenerierung usw. zu handhaben. – khmarbaise
Wenn Sie Teile der Bibliotheken wiederverwenden, müssen Sie eine gemeinsame Bibliothek einführen, die die Aktualisierung verbessert kompliziert, wenn nicht unmöglich ... gehe besser den Weg selbstständig .... – khmarbaise