Java, ständiges downloaden von startApp.jnlp für ein Programm

Hallo, guten Tag Leute,

Ich habe da immernoch wied erein Problem mit einer Softwareumgebung.

Es geht um ein Programm. Zuallererst wird eine Seite im Browser geladen. Aus diesem Browser können 3 Programme gestartet werden, die einzeln eigenständig im Programmfenster laufen. Gestartet wird das über Java, da das Programm eine Java (Web) Art ist, eine Java App?

Beim draufklicken im Browser sollte normal das Programm starten, ohne diese startApp.jnlp.

Abe hier wird diese kleine .jnlp geladen und beim draufklicken wird das Programm gestartet.

Unter Java Control gibt es nur noch Sicherheitsstufe “Hoch” und “sehr Hoch”. Ausschalten geht nicht. Im Netz habe ich gefunden das man im Browser die sicherheitseinstellung ändern kann das diese Datei automatisch geladen wird und gestartet wird. Leider finde ich da nichts zu.

Das Problem. Die einmal geladene startAPP.jnlp ist nur für 1h gültig. Beim nächsten starten wird eine startApp(1).jnlp geladen und dann startApp(2). jnlp und so weiter. Das finde ich irgendwie nervig.

Das zewite Problem ist dann der Sicherheits prompt ob man das Starten und Herausgeber zulassen möchte. Klick auf Ja startet das Programm weiter. Es gibt eine Check Box mit “Einstellung und zustimmung speichern” funktioniert nicht. Wird trotzdem beim nächsten mal gefragt.

Nun meine Frage(n). Kann man unter Win 10/11 diese startApp.jnlp umgehen, abstellen etc. und kann man den Sicherheitsprompt von Java deaktivieren? Muss ich da eine .config oder .xml Datei ändern? Wenn ja wo und wie? Oder eine andere Lösung?

Der Laptop wo das Programm drauf ist ist zu 99% offline. Online nur für updates dann wieder offline mit deaktivierten LAN WLAN etc.

Für hilfe lieben vielen Dank.

Ich glaube du wirst hier keine Antworten finden, das ist schon ziemlich deep wo du hängst!

Es hat zwar irgendwie mit java zu tun - aber ist nicht umgangssprachlich sondern eher speziell.
Ich kann dir auch nicht helfen leider! (bin aber auch nur Hobby Autodidakt und kein Java Fullstack Developer)… die gibt es hier nicht viele…

In java foren oder stackoverflow würdest du das geklärt bekommen ebenfalls! Aber nicht an einem Abend, wahrscheinlich auch nicht an 7. :slight_smile:

Frag lieber eine KI - zB duck.ai das Modell Haiku, das ist in Programmierung recht gut:

Hier mal die erste Ausgabe dazu:

Was sind JNLP-Dateien in Java?

JNLP-Dateien (Java Network Launch Protocol) sind XML-basierte Konfigurationsdateien, die das Starten von Java-Anwendungen über das Netz ermöglichen. Sie spielen eine wichtige Rolle bei der Java Web Start-Technologie.


Grundlegende Funktionsweise

Eine JNLP-Datei enthält alle notwendigen Informationen, um eine Java-Anwendung zu starten:

  • Wo die Anwendung heruntergeladen wird (URLs zu JAR-Dateien)
  • Welche Version der Java Runtime benötigt wird
  • Sicherheitsberechtigungen (zum Beispiel Zugriff auf das Dateisystem)
  • Startparameter und Systemeinstellungen
  • Metadaten wie Titel, Beschreibung und Icons

Praktisches Beispiel

Eine typische JNLP-Datei sieht etwa so aus:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://beispiel.com/app/">
  <information>
    <title>Meine Java-Anwendung</title>
    <description>Eine Test-Anwendung</description>
  </information>
  <resources>
    <j2se version="11+" />
    <jar href="myapp.jar" main="true" />
  </resources>
  <application-desc main-class="com.beispiel.Main" />
</jnlp>

Wie JNLP funktioniert

  1. Benutzer klickt auf einen Link zu einer .jnlp-Datei
  2. Java Web Start wird aktiviert und lädt die Datei herunter
  3. Die Anwendung und alle erforderlichen JAR-Dateien werden heruntergeladen und lokal gecacht
  4. Die Anwendung wird mit den in der JNLP-Datei definierten Einstellungen gestartet

Wichtige Vorteile

  • Einfaches Deployment: Anwendungen können direkt vom Browser gestartet werden
  • Automatische Updates: Neue Versionen werden automatisch erkannt und heruntergeladen
  • Offline-Nutzung: Gecachte Anwendungen laufen auch ohne Netzwerkverbindung
  • Sandbox-Sicherheit: Berechtigungen sind kontrolliert definierbar

Sicherheitsaspekte

JNLP-Anwendungen laufen standardmäßig in einer Sandbox mit eingeschränkten Berechtigungen. Will die Anwendung auf Dateisystem, Netzwerk oder andere Ressourcen zugreifen, muss dies in der JNLP-Datei mit <security> und <all-permissions> explizit gewährt werden. Der Benutzer wird dann gefragt, ob er diese Berechtigungen akzeptiert.


Aktuelle Bedeutung

JNLP und Java Web Start sind heute weniger verbreitet als früher, da moderne Webtechnologien (HTML5, JavaScript-Frameworks) und containerisierte Anwendungen sie teilweise ersetzt haben. Allerdings werden sie in Unternehmensanwendungen immer noch genutzt, besonders wo stabile, offlineunterstützende Desktop-Anwendungen erforderlich sind.