Ich würde gerne wissen, wie man an die Art des Betriebssystems, auf dem der jvm läuft, gelangt. Es muss auch "sicher" sein, also ist System.getProperty("os.name")
nicht wirklich eine Option, weil es mit der -D-Direktive trivial umgangen werden kann.Name des Betriebssystems in Java (nicht "os.name")
Mit "sicher" meine ich nontrivial zu umgehen. Es ist für eine Desktop-Anwendung. Der Benutzer konnte den Code immer entschlüsseln, dekompilieren, bearbeiten und neu kompilieren, aber das ist wesentlich schwieriger als die Übergabe von -D an den jvm. Wir wollen das Basteln nicht-trivial machen, nicht unmöglich (da das nicht möglich ist).
Definieren Sie "sicher". Vor wem willst du dich schützen? Wenn jemand Ihre Anwendung startet und die Kontrolle über den Computer hat, auf dem er läuft, haben Sie wahrscheinlich kein Glück. Was ist mit einer JVM, die unter Windows in einer virtuellen Maschine läuft, die unter Linux in einer Partition eines AS/400 läuft? Was sollte das melden? –
Sicher bedeutet, nicht zu umgehen. Es ist für eine Desktop-Anwendung. Der Benutzer konnte den Code immer entschlüsseln, dekompilieren, bearbeiten und neu kompilieren, aber das ist wesentlich schwieriger als die Übergabe von -D an den jvm. Wir wollen das Basteln nicht-trivial machen, nicht unmöglich (da das nicht möglich ist). –
Ich weiß nicht, welches Problem Sie lösen möchten, aber ich kann Ihnen versichern, dass die Verwendung von os.name höchstwahrscheinlich die falsche Lösung ist. Warum schreiben Sie nicht das eigentliche Problem, das Sie mit dieser Eigenschaft lösen wollen? – Kevin