Java Klassen online Speichern und in Programm einbinden?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wahrscheinlich hilft dir hier ein ServiceLoader.

Wenn du dir vorstellst, Java-Bytecode zur Laufzeit (also nach dem Programmstart) nachzuladen:

  • Das geht mit Java im Prinzip, dank Reflection.
  • Es ist selten eine gute Idee, wenn du nicht gerade sowas wie einen Applikationsserver baust.
  • Es wird auf vielen Plattformen aktiv unterbunden, weil es ein enormes Sicherheitsrisiko darstellt. Wenn wir hier von Android reden umso mehr - da wirst du gar keinen JVM-Bytecode laden können.

Du solltest dir die Frage stellen was du damit bezweckst, und ob das nur so lösbar ist.

Es soll von einem Administrator Java Code hochgeladen werden können, welcher die genauen Bestandteile eines Barcodetypen herausfindet und alle Devices sollen dann darauf zugreifen können. Der Administrator soll halt nicht das Programm umschreiben sondern nur neue Klassen in einer GUI hinzufügen können

0

das wird so nicht gemacht.

Beim Build können Bibliotheken eingebunden werden. Und mit maven geht das z.B. für Java auf der normalen JVM.

Zur Laufzeit Code nachladen ist keine gute Idee. Hier nimmst Du typischerweise eine interpretierte Sprache (Java Script, Lua, python, ...) um Plugins und Scripting in einer App zu realisieren.

Woher ich das weiß:Berufserfahrung

Was möchtest Du wissen?